我有一个目录结构

├── simulate.py
├── src
│   ├── networkAlgorithm.py
│   ├── ...

我可以使用sys.path.insert()访问网络模块。

import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *

但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?


当前回答

手动添加它确实是一种方法,但是有一种更简单的方法,那就是简单地告诉pycharm您想要添加src文件夹作为源根,然后将源根添加到您的python路径。

这样,你就不必在解释器的设置中硬编码:

添加src作为源内容根:

                           

然后确保在PYTHONPATH下面添加add sources: 首选项~构建、执行、部署~控制台~ Python控制台

现在进口问题将得到解决:

                     

通过这种方式,您可以添加任何您想要的源根,并且事情将简单地工作。但是,如果你没有将它标记为源根,你会得到一个错误:

                                 

完成所有这些后,不要忘记重新启动。在PyCharm菜单中选择:File——> Invalidate Caches / Restart

其他回答

在PyCharm中右键单击文件所在的目录 转到——>标记目录为 选择——>源根

你的问题会解决的

一般来说,这是一个丢失包的问题,只需在未解决的引用处放置插入符号,并按Alt+Enter显示选项,然后您应该知道如何解决它。

在我的例子中,使用Pycharm 2019.3,问题是我忘记向我想导入的文件添加扩展名“.py”。一旦添加,错误就会消失,而不需要使缓存无效或任何其他步骤。

我也有同样的问题,也尝试了很多建议,但没有一个有效,直到我发现了这篇文章(https://stackoverflow.com/a/62632870/16863617)。尽管他的解决方案对我不起作用,但它帮助我想出了将_init.py_添加到——>设置|编辑器|文件类型| Python |注册模式的想法

截图

未解决的引用错误现在已经解决。

对我来说,将virtualenv (venv)的site-packages路径添加到解释器的路径中是可行的。 终于!