我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
当前回答
其他答案所建议的无效缓存对我不起作用。在我的案例中,我发现的问题是PyCharm将Python包的init.py文件标记为文本,因此没有将它们包括在分析中,这意味着Python解析无法正确工作。
我的解决方案是:
打开PyCharm设置 导航到编辑器->文件类型 找到Python并将__init__.py添加到Python文件列表中 或查找文本并从文本文件列表中删除__init__.py
其他回答
也可能是python版本问题。我得选对人,才行。
在所有建议的解决方案都不适合我之后,我终于让它工作了。我正在玩一个django rest框架项目,并使用了我已经设置好的virtualenv。我可以通过将根文件夹标记为源根来修复Pycharm,但是django的服务器会抛出解析异常。所以一个会工作,而另一个不会,反之亦然。
最终,我只需要将子文件夹标记为pycharm中的源代码根。我的结构是这样的
-playground
-env
-playground
第二个playground文件夹是我必须标记为源代码根以便一切正常工作的文件夹。这在我的场景中没有出现任何问题,所以这是一个可行的解决方案。
我只是想分享一下,以防别人用。
天哪,这是一个噩梦,我的不同的StackOVerflow答案的合并:
切换到本地解释器/usr/bin/pythonX.X和应用 像上面那样查看路径 找到骷髅的路径。我的是(/home/tim/Desktop/pycharm-community-2016.2.3/helpers/python-skeleton) 切换回virt解释器,并手动添加骷髅路径,如果它没有自动显示。
我必须去文件->无效缓存/重新启动,重新启动Ubuntu 18.04 LTS,然后打开Pycharm和文件->无效缓存/重新启动,然后才清理。
再补充一个:涉及Python解释器选项卡的解决方案都没有帮助,然而,我注意到我必须设置项目依赖项:在有未解决的引用错误的项目中,没有任何依赖项被检查。一旦我检查了,相关的错误就消失了。我不知道为什么一开始就检查了一些,而另一些没有。