Eclipse Pydev:'错误:未找到Python stdlib'

时间:2011-07-07 18:54:38

标签: python eclipse pydev virtualenv

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

  

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

     

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

     

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

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

2 个答案:

答案 0 :(得分:22)

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

enter image description here

即使添加了系统Python目录,PyDev也没有获取全局站点包,因此您仍然可以实现“无站点包”效果。我假设你必须在Windows上做类似的事情,即在“Select Needed”对话框中选择所有文件夹,包括C:\Pythonx.x文件夹。

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

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

答案 1 :(得分:0)

要在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 /

中查看