Eclipse PyDev 导入错误
Eclipse PyDev import error
我正在尝试在 PyDev 中使用 pyqtgraph。我可以使用以下方法在应用程序中显示绘图 window:
import pyqtgraph as pg
然而,当我尝试使用以下方法将小部件嵌入到 PyQt 应用程序中时:
from pyqtgraph import PlotWidget
我收到一个 ImportError:无法导入名称 'PlotWidget'
我正在使用带有 python3 的 virtualenv 和安装在站点包中的 pyqtgraph。 python 解释库包括 pyqtgraph 所在的 python3 站点包。
我在 PyDev 中尝试的完全相同的代码在 PyCharm 中使用相同的 virtualenv 工作正常。
我将文本 pyqtgraph 添加到 window-preferences-PyDev-Interpreters-Forced Builtins。
我尝试了 PyDev-PYTHONPATH 设置对话框中的 'Force restore internal info' 按钮。
我也尝试了项目 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'
奇怪的是,有时在导入语句中将鼠标悬停在 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 的内部结构?
RMB 项目,select PyDev - PYTHONPATH。 Select 外部库,添加 source solder 然后 select 本地 pyqtgraph-0.n.n/pyqtgraph 文件夹
实际上,如果您只是 "pip install pyqtgraph" 并将其安装在解释器中,那么一切都应该可以顺利进行...不过,如果您确实希望将它与 site-packages 分开,那么您真的可以将其添加为外部库源文件夹,但在这种情况下要添加的正确目录是应该在 PYTHONPATH 中的目录(即:仅 "pyqtgraph-0.n.n" 而不是 pyqtgraph-0.n.n/pyqtgraph).
实际上,从您的安装开始,您可能不应该更改任何内容,因为 /work/.virtualenvs/python3virt/lib/python3.4/site-packages 已经在 PYTHONPATH 中——并且 /work/.virtualenvs/python3virt/lib/python3.4/site-packages/pyqtgraph 不应单独添加到 PYTHONPATH。
此外,您不应在运行时将其添加到 sys.path,因为将其添加到外部源文件夹或将其放入 site-packages 就足够了。
我正在尝试在 PyDev 中使用 pyqtgraph。我可以使用以下方法在应用程序中显示绘图 window:
import pyqtgraph as pg
然而,当我尝试使用以下方法将小部件嵌入到 PyQt 应用程序中时:
from pyqtgraph import PlotWidget
我收到一个 ImportError:无法导入名称 'PlotWidget'
我正在使用带有 python3 的 virtualenv 和安装在站点包中的 pyqtgraph。 python 解释库包括 pyqtgraph 所在的 python3 站点包。
我在 PyDev 中尝试的完全相同的代码在 PyCharm 中使用相同的 virtualenv 工作正常。
我将文本 pyqtgraph 添加到 window-preferences-PyDev-Interpreters-Forced Builtins。
我尝试了 PyDev-PYTHONPATH 设置对话框中的 'Force restore internal info' 按钮。
我也尝试了项目 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'
奇怪的是,有时在导入语句中将鼠标悬停在 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 的内部结构?
RMB 项目,select PyDev - PYTHONPATH。 Select 外部库,添加 source solder 然后 select 本地 pyqtgraph-0.n.n/pyqtgraph 文件夹
实际上,如果您只是 "pip install pyqtgraph" 并将其安装在解释器中,那么一切都应该可以顺利进行...不过,如果您确实希望将它与 site-packages 分开,那么您真的可以将其添加为外部库源文件夹,但在这种情况下要添加的正确目录是应该在 PYTHONPATH 中的目录(即:仅 "pyqtgraph-0.n.n" 而不是 pyqtgraph-0.n.n/pyqtgraph).
实际上,从您的安装开始,您可能不应该更改任何内容,因为 /work/.virtualenvs/python3virt/lib/python3.4/site-packages 已经在 PYTHONPATH 中——并且 /work/.virtualenvs/python3virt/lib/python3.4/site-packages/pyqtgraph 不应单独添加到 PYTHONPATH。
此外,您不应在运行时将其添加到 sys.path,因为将其添加到外部源文件夹或将其放入 site-packages 就足够了。