Eclipse PyDev导入错误

时间:2015-02-09 12:40:27

标签: python eclipse pydev

我正在尝试在PyDev中使用pyqtgraph。我可以使用以下方法在应用程序中显示绘图窗口:

import pyqtgraph as pg

然而,当我尝试使用:

在PyQt应用程序中嵌入一个小部件时
from pyqtgraph import PlotWidget

我得到一个ImportError:无法导入名称'PlotWidget'

我使用的是virtualenv,其中python3和pyqtgraph安装在site-packages中。 python解释库包括pyqtgraph所在的python3站点包。

我在PyDev中尝试的完全相同的代码在PyCharm中使用相同的virtualenv工作正常。

我将文本pyqtgraph添加到window-preferences-PyDev-Interpreters-Forced Builtins。

我在PyDev-PYTHONPATH设置对话框中尝试了“强制恢复内部信息”按钮。

我也尝试过项目RMB-PyDev-Remove Project Config。再次进入PyDev项目,文件重启,关闭项目,打开项目。

我尝试将site-packages / pyqtgraph文件夹添加到PYTHONPATH中的外部库中。

此外我还添加了代码:

import sys
sys.path.append("/work/.virtualenvs/python3virt/lib/python3.4/site-packages/pyqtgraph")

在下面显示的导入块之前。我可以看到/work/.virtualenvs/python3virt/lib/python3.4/site-packages/pyqtgraph显然在系统路径上,但是得到错误ImportError:没有名为'pyqtgraph.widgets'的模块

奇怪的是,有时候在导入语句中将鼠标悬停在pyqtgraph上时会击中F3会转到源,有时则不会。例如,在以下代码中,F3仅适用于第二个pyqtgraph导入:

import pyqtgraph as pg
try:
    from pyqtgraph import PlotWidget
except ImportError:
    import sys
    print ('Executable:', sys.executable)
    print ('\n'.join(sorted(sys.path)))
    raise

有没有人对如何让PyDev识别pyqtgraph的内部有任何想法?

2 个答案:

答案 0 :(得分:2)

实际上,如果您刚刚执行了“pip install pyqtgraph”并将其安装在解释器中,一切都应该顺利运行...如果您确实希望将它与网站包分开,那么您可以将其添加为外部库源文件夹,但在这种情况下要添加的正确目录是应该在PYTHONPATH中的目录(即:仅“pyqtgraph-0.nn”而不是pyqtgraph-0.nn / pyqtgraph)。

实际上,从您的安装中,您可能不应该更改任何内容,因为/work/.virtualenvs/python3virt/lib/python3.4/site-packages已经在PYTHONPATH中 - 和/work/.virtualenvs/python3virt/ lib / python3.4 / site-packages / pyqtgraph不应单独添加到PYTHONPATH。

此外,您不应该在运行时将其添加到sys.path,因为添加外部源文件夹或将其放入站点包中应该足够了。

答案 1 :(得分:0)

人民币项目,选择PyDev - PYTHONPATH。选择External Libraries,添加source焊料然后选择本地pyqtgraph-0.n.n / pyqtgraph文件夹