即使路径在全局 PYTHONPATH 中,PyDev (Eclipse) 中未解决的导入

Unresolved Import in PyDev (Eclipse) even if path is in global PYTHONPATH

我有以下代码:

import sys

reload(sys)
sys.setdefaultencoding('utf8')#@UndefinedVariable

import phantomjs


if __name__ == '__main__':
    print ';'.join(sys.path)

我按照某事的回答 Permanently add a directory to PYTHONPATH

并将 phantomjs.pth 文件添加到 ~/.local/lib/python2.7/站点包

python -c 'import site; site._script()' --user-site

告诉我我需要添加 pth 文件。在 phantomjs.pth 文件中,我放置了 phantomjs.py 文件所在的路径: /workspace/rankingmodel

它适用于 python 解释器作为

    print ';'.join(sys.path)

打印出来(以及其他)/workspace/rankingmodel 但日食标记

import phantomjs

有错误

Unresolved Import

如何让 Eclispe 和 PyDev 看到我放在 .pth 文件中的 PYTHONPATH?

一个简单的答案是单击“项目”菜单,然后单击“属性”, 然后在 PyDev - PYTHONPATH 部分下单击外部库选项卡 并在那里再次添加所需的路径。

这是我目前使用的解决方法。

但我想知道是否有更好的解决方案,让 eclipse 可以看到全局路径本身,而无需明确告知。

问题出在 Eclipse PyDev 中不会自动更新的 *.pth 文件。所以解决方案是在 Eclipse 中删除然后重新添加 python 解释器。

我在 Praveen Gollakota 的回答中找到了我正在寻找的答案: Importing using pydev and .pth files

对于 Linux,对于 Eclipse Kepler PyDev 3.9.1:

下拉菜单 "Window"、select "Preferences" 左侧菜单:PyDev->Interpreters->Python Interpreter 删除并重新添加 python 解释器,当您再次添加它时,请确保单击所有需要的全局 python 路径。