我正在尝试将解释器(使用virtualenv创建)添加到PyDev,但是我收到以下错误:
似乎是Python / Lib文件夹 (包含标准库) 没有找到/选择期间 安装过程。
此文件夹(包含此类文件) 如threading.py和traceback.py) PyDev运行所必需的 正确的(它必须包含 实际的源文件,不仅仅是.pyc 文件)...
请注意,如果这是一个virtualenv 从基础安装/ Lib文件夹 需要选择安装(不像 这是网站包 可选)...
问题是我的默认安装下没有/ lib文件夹...我使用'no-site-packages'选项创建了virtualenv ...我该如何解决?谢谢!
答案 0 :(得分:22)
我以前自己也遇到过这种情况。当在PyDev中添加使用virtualenv创建的解释器时,当它询问需要添加到SYSTEM pythonpath的文件夹时,我必须选择
/usr/lib/python2.7
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/plat-linux2
请参阅屏幕截图,了解我必须做的事情。这里temp
是我的生活。
即使添加了系统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 /
中查看