2

我的 64 位 Ubuntu 上安装了 Eclipse 版本: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

这是一个非常明显的错误,因为我没有在代码开头写“import os”。我的问题是 Eclipse 不再为我突出显示这些错误。要么我必须自己找到它们,要么我会在运行代码时找到它们。我的 Eclipse 之前工作正常,但我不知道发生这种情况我做了什么改变。

我还应该提到我的项目中有“lib”文件夹,并且在该文件夹中我有一些自己的模块,并且我已将“lib”文件夹添加到项目的 PYTHONPATH 中。我正在运行的代码在另一个名为“test”的文件夹中,而不是在 PYTHONPATH 中。

4

2 回答 2

3

问题是我的代码在这样的文件夹中:

/MyProject/src/test/test.py

但是“src”文件夹不在 PYTHONPATH 中。这就是为什么 Eclipse 没有将它们识别为源代码并且没有分析它们的原因。

要解决此问题,请访问:

Eclipse -> 项目 -> 属性 -> PyDev-PYTHONPATH -> 源文件夹

并将“/MyProject/src”添加到源文件夹。(我的源文件夹中只有“/MyProject/src/lib”)

于 2013-03-29T15:21:33.213 回答
1

除了@183.amir 的回答之外,如果您的某个应用程序是符号链接的(不是实际目录),您需要将其单独添加到 PYTHONPATH(使用上述步骤)。

于 2014-03-17T12:13:32.890 回答