【发布时间】:2015-04-09 05:01:28
【问题描述】:
我正在尝试在 PyDev 中使用 pyqtgraph。我可以使用以下方法在应用程序中显示绘图窗口:
import pyqtgraph as pg
但是,当我尝试使用以下方式在 PyQt 应用程序中嵌入小部件时:
from pyqtgraph import PlotWidget
我收到 ImportError: cannot import name 'PlotWidget'
我正在使用安装在站点包中的带有 python3 和 pyqtgraph 的 virtualenv。 python解释库包括pyqtgraph所在的python3站点包。
我在 PyDev 中尝试的完全相同的代码在 PyCharm 中使用相同的 virtualenv 运行良好。
我将文本 pyqtgraph 添加到 window-preferences-PyDev-Interpreters-Forced Builtins。
我尝试了 PyDev-PYTHONPATH 设置对话框上的“强制恢复内部信息”按钮。
我还尝试了项目 RMB-PyDev-Remove Project Config。再次制作成PyDev项目,File-Restart,Close project,Open Project。
我尝试将 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: No module named 'pyqtgraph.widgets'
奇怪的是,有时在 import 语句中将鼠标悬停在 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 的内部有任何想法吗?
【问题讨论】:
-
我从来没有通过从站点包导入来实现这个工作......我只是按照这里将整个 pyqtgraph api 引入我的应用程序:pyqtgraph.org/documentation/how_to_use.html