Eclipse - Pydev,无法识别未导入的方法

时间:2012-11-19 10:24:48

标签: python eclipse pydev

我在我的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。

2 个答案:

答案 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(使用上述步骤)。