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 eclipse (Debian) 中配置 kivy 路径