有一个类似的问题,但不完全是我遇到的问题,所以我们开始:
我的目录结构:
├── PycharmProjects
____ ├── 我的项目
_______ ├── main.py
_______ ├── ...
___ ├── 工具
_______ ├── web.py
导入我使用的 web.py 函数
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from Tools.web import *
它在 Pycharm 和 Idle 中都可以工作,但是 Pycharm 中的代码分析显示 Tools 及其函数为“未解析的引用”。我该如何解决这个问题?
我已经尝试过:
1.各级各文件夹下的init.py。
2. 将tools文件夹添加到项目结构中,将其标记为源文件夹(蓝色)
我建议将以下内容翻译成您的术语:将一个名为 my_pycharm.pth 的文件放入 /Lib/site-packages 中,并使用以下行。
<drive>:/path/to/PycharmProjects
这本质上是将 /PycharmProjects 的 contents 附加到 /site-packages 的内容中。换句话说,当 import 在 /site-packages 中搜索模块时,它也会搜索 /PycharmProjects。 (我对每个已安装的 Python 版本都执行此操作。)
然后通过添加
__init__.py
使 /PycharmProjects 中的每个项目成为适当的包。
例如,现在 main.py 可以有
from Tools import web
它应该可以工作。
如果您与其他人共享您的代码,他们只需将其放入他们的站点包中。
对于将来遇到此问题的任何人,这里概述了一个更简单的答案:
在底部:
转到设置“Ctrl+Alt+S”并选择下一个选项:
在我的例子中选择要转换为Python源的文件夹“./src”并点击源标签(标记为..),然后将其添加到 左侧面板还点击“应用”或“确定”。