我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
我正在使用PyCharm在一个项目上工作。使用解释器打开并配置该项目,并可以成功运行。远程解释器路径映射正确。这似乎是正确的配置,但PyCharm突出显示了带有“未解决的引用”错误的有效代码,甚至对于内置的Python函数也是如此。为什么即使代码运行,这些似乎也没有被检测到?有没有什么方法可以让PyCharm正确识别这些?
此问题的具体实例是远程解释器,但本地解释器也会出现此问题。
当前回答
在我的情况下,检查错误显示由于一个非常具体的python代码的情况。 包含两个numpy函数和两个列表访问的min函数会使我的代码检查给出这种错误。
在下面的例子中删除'd=0'行会像预期的那样给出一个无法解决的引用错误,但是读取代码检查器并不能消除这个错误。之后我仍然可以毫无问题地执行代码。
import numpy as np
def strange(S, T, U, V):
d = 0
print min(np.abs(S[d]), np.abs(T[d]), U[d], V[d])
清除缓存和重新加载路径列表不工作。只有使用以下示例补丁之一更改代码才能工作:
“min”参数的另一种顺序:简图上的S U T V,但不是S T U V或T S U V 使用方法而不是函数:S[d].abs()而不是np.abs(S[d]) 使用内置的abs()函数 将一个数字添加到所选参数:U[d] + 0。
其他回答
在所有建议的解决方案都不适合我之后,我终于让它工作了。我正在玩一个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解释器,并手动添加骷髅路径,如果它没有自动显示。
我有一个项目,其中一个文件在src/导入另一个文件在同一目录。要让PyCharm识别,我必须去文件>设置>项目>项目结构>选择src文件夹,然后点击“标记为:源”
从https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html
源根包含实际的源文件和资源。PyCharm使用源根作为解析导入的起点
在我的情况下,检查错误显示由于一个非常具体的python代码的情况。 包含两个numpy函数和两个列表访问的min函数会使我的代码检查给出这种错误。
在下面的例子中删除'd=0'行会像预期的那样给出一个无法解决的引用错误,但是读取代码检查器并不能消除这个错误。之后我仍然可以毫无问题地执行代码。
import numpy as np
def strange(S, T, U, V):
d = 0
print min(np.abs(S[d]), np.abs(T[d]), U[d], V[d])
清除缓存和重新加载路径列表不工作。只有使用以下示例补丁之一更改代码才能工作:
“min”参数的另一种顺序:简图上的S U T V,但不是S T U V或T S U V 使用方法而不是函数:S[d].abs()而不是np.abs(S[d]) 使用内置的abs()函数 将一个数字添加到所选参数:U[d] + 0。
也可能是python版本问题。我得选对人,才行。