Eclipse Pydev:'错误:找不到 Python 标准库'

Posted

技术标签:

【中文标题】Eclipse Pydev:\'错误:找不到 Python 标准库\'【英文标题】:Eclipse Pydev: 'Error: Python stdlib not found'Eclipse Pydev:'错误:找不到 Python 标准库' 【发布时间】:2011-09-30 17:35:16 【问题描述】:

我正在尝试将解释器(使用 virtualenv 创建)添加到 PyDev,但出现以下错误:

似乎 Python /Lib 文件夹 (其中包含标准库) 期间未找到/选择 安装过程。

此文件夹(其中包含诸如 作为 threading.py 和 traceback.py) 是 PyDev 运行所需的 正确(并且它必须包含 实际的源文件,不仅是 .pyc 文件)...

请注意,如果这是一个 virtualenv 安装,来自基础的 /Lib 文件夹 需要选择安装(不像 站点包是 可选)...

问题是我的默认安装下没有 /lib 文件夹...我使用“no-site-packages”选项创建了 virtualenv...我该如何解决?谢谢!

【问题讨论】:

【参考方案1】:

我自己以前也遇到过。在 PyDev 中添加使用 virtualenv 创建的解释器时,当它询问需要添加到 SYSTEM pythonpath 的文件夹时,我必须选择/usr/lib/python2.7/usr/lib/python2.7/lib-tk/usr/lib/python2.7/plat-linux2 请参阅屏幕截图以了解我必须做的事情。这里temp 是我的虚拟环境。

即使添加了系统 Python 目录,PyDev 并没有拾取全局站点包,所以仍然可以实现“无站点包”的效果。我假设您必须在 Windows 上执行类似的操作,即在“选择需要”对话框中选择所有文件夹,包括 C:\Pythonx.x 文件夹。

编辑:我刚刚在 Eclipse Indigo(带有 virtualenv 1.7 的 Arch Linux)上使用 PyDev 2.3 进行了尝试,似乎不需要选择 plat-linux2(不确定 @987654330 @,但/usr/lib/python2.7 绝对是必需的)。感谢 fijiaaron 指出。

编辑 2:Pydev 2.5(也可能是 2.6,from the docs)仍然需要 /Lib 文件夹才能正常运行,尽管它现在可以让您忽略“找不到 Python stdlib”对话框并添加解释器(但提到它仍然需要稍后包含)。

【讨论】:

如果您在那个 Eclipse 环境中运行东西,这可能会干扰虚拟环境设置 - 即它最终会使用错误版本的解释器和库吗? 只要未选择全局站点包目录,就应该使用 virtualenv 库。并且所选目录将仅包含创建 virtualenv 时使用的解释器。目前没有发现任何问题。 您确定必须选择/usr/lib/python2.7 吗? This guy 在设置解释器时没有选择任何内容。 似乎 Pydev 2.5 允许您忽略该对话框,但提到需要稍后添加 /Lib 文件夹才能使 Pydev 正常运行。我已经更新了我的答案。谢谢 @Anshuman,你怎么能说仍然保留了“no-site-packages”效果。由于 /usr/lib/python2.7 添加到路径中,应该选择 /usr/lib/python2.7/dist-packages【参考方案2】:

要在 pydev 中跳过此消息,您可以手动创建指向未由 virtualenv 链接的 stdlib 的符号链接。

示例:

ln -s /usr/lib/python3.3/threading.py /home/path/to/virtual/myenv/lib/python3.3/threading.py
ln -s /usr/lib/python3.3/traceback.py /home/path/to/virtual/myenv/lib/python3.3/traceback.py

virtualenv 中有很多 stdlib 没有链接。可能您应该根据需要手动制作。

查看 /usr/lib/python3.3 并与 /home/path/to/virtual/myenv/lib/python3.3 进行比较

例如,您可以在 pydev 路径中添加 /usr/lib/python3.3/concurrent/。

如果您按照 Bhaduri 先生的建议添加 /usr/lib/python2.7(或 /usr/lib/python3.3),您可以爆炸您的 virtualenv,因为您的包可以查看 /usr/ 中的 site-packages 目录lib/python2.7 这正是你不想要的。

你想隔离你的环境。您希望您的包仅在 /home/path/to/virtual/myenv/lib/python3.3/site-packages/ 中查看

【讨论】:

以上是关于Eclipse Pydev:'错误:找不到 Python 标准库'的主要内容,如果未能解决你的问题,请参考以下文章

eclipse + python + pydev (Pydev安装成功确看不到插件的解决办法)

pydev安装后找不到python库

如何在 Eclipse 的 PyDev 插件中删除尾随空格

在 pydev eclipse (Debian) 中配置 kivy 路径

在 Eclipse 中使用 JEP/Pydev 看不到 print 和 println 语句

Ubuntu12.04下配置Eclipse+PyDev