我有一个目录结构
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
我可以使用sys.path.insert()
访问网络模块。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
然而,pycharm抱怨它无法访问模块。我如何教pycham来解决参考?
答案 0 :(得分:663)
手动添加它 实际上只是一种方法,但是有一个更简单的方法,那就是告诉pycharm你要添加src
将文件夹作为源根目录,然后将源根目录添加到python路径。
这样,您就不必在解释器的设置中硬编码:
src
添加为源内容根目录:
PYTHONPATH
:
这样,你可以添加你想要的任何东西作为源根,事情就会起作用。但是,如果您将其取消标记为源根,则将收到错误:
答案 1 :(得分:34)
__init__.py
文件夹src
文件
src
文件夹添加为源根PYTHONPATH
(见上文)答案 2 :(得分:15)
如果有人还在看这个,那么当我尝试时,接受的答案仍适用于PyCharm 2016.3。用户界面可能已更改,但选项仍然相同。
即。右键单击根文件夹 - > '将目录标记为' - >源根
答案 3 :(得分:14)
通常$PYTHONPATH is used to teach python interpreter to find necessary modules。 PyCharm需要在Preference中添加路径。
答案 4 :(得分:14)
在测试了所有变通办法之后,我建议您查看Settings -> Project -> project dependencies
并重新安排它们。
答案 5 :(得分:5)
通常,这是一个缺少的包问题,只需将插入符号放在未解析的引用上,然后按Alt+Enter
显示选项,然后您应该知道如何解决它。
答案 6 :(得分:3)
按照接受的答案后,执行以下操作为我解决了问题:
File
→Settings
→Project <your directory/project>
→Project Dependencies
选择具有未解析导入的文件所在的目录/项目,并选中该框以告诉Pycharm该项目取决于您的其他项目。
我的文件夹层次与问题中的文件略有不同。我是这样的
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
告诉我们src取决于MyDirectory
的Pycharm为我解决了这个问题!
答案 7 :(得分:2)
通过PyCharm安装(适用于Community Edition)。打开Settings > Project > Project Interpreter
,然后点击下面屏幕截图中的绿色+图标。在打开的第二个对话框中,输入包名称并单击“安装包”按钮。
答案 8 :(得分:2)
尽管所有答案确实有帮助,但其中的一小部分信息应予以明确解释:
.py
文件的目录,并在其中创建一个__init__.py
(空)文件。之所以有所帮助,是因为要使Python将目录视为包含软件包,必须使用此文件。干杯!
答案 9 :(得分:1)
请检查您是否使用了正确的口译员。我收到错误&#34;未解决的参考&#39; django&#39; &#34;为了解决这个问题,我从项目设置中更改了Project Interpreter(将Python 3更改为Python 2.7): 选择Project,转到File - &gt;设置 - &gt;项目: - &gt;项目口译员 - &gt;浏览并选择正确的版本或解释器(例如/usr/bin/python2.7)。
答案 10 :(得分:1)
很多时候发生的事情是没有安装插件。例如
如果你正在开发一个django项目并且你没有在pyCharm中安装django插件,它会说错误'unresolved reference'。 参考: https://www.jetbrains.com/pycharm/help/resolving-references.html
答案 11 :(得分:1)
我还使用了像上面的Dan这样的虚拟环境,但是我能够在现有环境中添加解释器,因此不需要继承全局站点包,因此可以撤消虚拟环境试图实现的目标。
答案 12 :(得分:1)
在PyCharm中完成2019.3.1 右键单击您的src文件夹->“将目录标记为”->单击“已排除” ,您的src文件夹应为蓝色。
答案 13 :(得分:0)
发生这种情况的原因有多种。以下是解决大多数情况的几个步骤:
.idea 缓存问题
某些 .idea
问题导致 IDE 显示错误,但代码仍能正常运行。解决方案:
.idea
文件夹。请注意,它是一个隐藏文件夹,您可能不知道它存在于您的项目目录中。相对于项目文件夹导入
相对导入,而代码根文件夹与项目文件夹不同。解决方案:
编辑器没有将 init.py 标记为 Python 而是文本
这是所有案例中最虚幻的。在这里,出于某种原因,PyCharm 认为所有 __init__.py
文件都不是 python 文件,因此在代码分析过程中会忽略它们。要解决此问题:
__init__.py
添加到 Python 文件列表中或
__init__.py
答案 14 :(得分:0)
就我而言:
Directory0
├── Directory1
│ └── file1.py
├── Directory2
│ ├── file2.py
进入file1,我有:
from Directory2 import file2
其中包含“未解析的参考 Directory2”。
我通过以下方式解决了:
AND
这很愚蠢,但如果我不执行第二个操作,错误仍然会出现,并且会让您认为您没有通过将父目录标记为 Source Root 来解决问题。
答案 15 :(得分:0)
您的问题将得到解决
答案 16 :(得分:0)
我在这里尝试了两次,甚至更多。我终于解决了它,实现了网上从未见过的东西。如果您转到Settings>Editor>File Types
,则在底部有一个'Ignore Files and folders
'行。就我而言,我一直忽略'venv'
,这就是我一直命名的虚拟环境。因此,我从目录列表中删除了venv;
,以忽略它并忽略它!我终于能够解决这个问题。从字面上看,我所有的进口问题都已为该项目解决。
顺便说一句,我已经使用PyCharm而不是通过终端安装了每个软件包。 (意味着,转到Settings>Interpreter...
)。我已经使缓存无效,更改了“源根目录”,重新启动了PyCharm,刷新了我的解释器路径,更改了解释器,删除了我的静脉...我尝试了一切。终于成功了。显然,不同的人在这里遇到多个问题,因此这可能对您不起作用,但是如果没有其他方法起作用,那么绝对值得一试,如果没有其他方法,则很容易解决。
答案 17 :(得分:0)
答案 18 :(得分:0)
最简单的解决方法是在pyCharm软件中执行以下操作:
单击:文件>设置>(项目:您的项目名称)>项目解释器>
然后单击右侧的“ +”图标以搜索所需的软件包并安装。
享受编码!!!
答案 19 :(得分:0)
这对我有用:sum(if(DELAY_IN_MILLIS = 0, VALUE, 0)),
sum(if(DELAY_IN_MILLIS = 100, VALUE, 0)),
...
答案 20 :(得分:0)
在我的情况下,问题是我使用的是Virtual environment
,但无法访问全局站点程序包。因此,解释器不知道新安装的软件包。
要解决此问题,只需编辑或重新创建虚拟解释器,然后勾选Inherit global site-packages
选项。
答案 21 :(得分:0)
Pycharm使用venv。在venv的控制台中,您应该明确安装软件包或进入settings -> project interpreter -> add interpreter -> inherit global site-packages
。
答案 22 :(得分:-2)
在较新版本的pycharm中,您可以简单地执行以下操作:右键单击要从中导入文件的目录或python包,然后单击“将目录标记为”->“源根目录”