我在我的64位Ubuntu上安装了Eclipse Version:4.2.1和PyDev 2.7.1版。 我使用的是Python 2.7,我在Eclipse中遇到这个问题,它没有识别我未导入的方法。例如,如果我写这样的代码:
def main():
myfiles = os.listdir('src')
if __name__ == '__main__':
main()
print'done!'
我收到此错误:
Traceback (most recent call last):
File "tset.py", line 5, in <module>
main()
File "tset.py", line 2, in main
myfiles = os.listdir('src')
NameError: global name 'os' is not defined
这是一个非常明显的错误,因为我没有写&#34;导入操作系统&#34;在我的代码的开头。我的问题是Eclipse不再为我突出这些错误。要么我必须自己找到它们,要么在运行我的代码时我会发现它们。 我的Eclipse之前工作正常,但我不知道我发生了什么改变了。
我还应该提到我有&#34; lib&#34;我的项目和该文件夹中的文件夹我有一些自己的模块,我添加了&#34; lib&#34;文件夹到我项目的PYTHONPATH。我正在运行的代码位于名为&#34; test&#34;的另一个文件夹中。并且那不在PYTHONPATH。
答案 0 :(得分:2)
问题是我的代码在这样的文件夹中:
/MyProject/src/test/test.py
但是“src”文件夹不在PYTHONPATH中。这就是为什么Eclipse没有将它们视为源代码并且没有对它们进行分析。
要解决此问题,请访问:
Eclipse - &gt;项目 - &gt;属性 - &gt; PyDev-PYTHONPATH - &gt;源文件夹
并将“/ MyProject / src”添加到源文件夹。 (我的源文件夹中只有“/ MyProject / src / lib”)
答案 1 :(得分:1)
除了@ 183.amir的答案之外,如果您的某个应用程序是符号链接的(不是实际目录),您需要单独将其添加到PYTHONPATH(使用上述步骤)。