有一个类似的问题但不完全是我遇到的问题所以我们去了:
我的目录结构:
├──PycharmProjects
____├──MyProject
_______├──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.将工具文件夹添加到项目结构,将其标记为源文件夹(蓝色)
答案 0 :(得分:1)
我建议将以下内容翻译成您的术语:将名为my_pycharm.pth的文件放入带有以下行的/ Lib / site-packages中。
<drive>:/path/to/PycharmProjects
这实际上将/ PycharmProjects的内容附加到/ site-packages的内容中。换句话说,当导入模块的搜索/站点包时,它还会搜索/ PycharmProjects。 (我为每个已安装的Python版本执行此操作。)
然后通过添加 init .py使/ PycharmProjects中的每个项目成为一个合适的包。
现在,例如,main.py可以有
from Tools import web
它应该可以正常工作。
如果您与其他人共享您的代码,他们只需将其放入他们的网站包中。
答案 1 :(得分:0)
对于将来遇到此问题的任何人,这里概述一个更简单的答案:
在底部:
转到设置“ Ctrl + Alt + S”,然后选择以下选项:
在我的情况下选择要转换为python源的文件夹“ ./src”,然后点击Source标签(标记为..),然后将其添加到 左面板上还点击“应用”或“确定”。