如何在Eclipse中使用pip通过virtualenv设置PyDev的Python解释器
我想用pip来安装新的软件包,他们建议我在虚拟环境中安装pip。我照做了,安装了一些软件包,使用起来没问题。
但是我在用PyDev设置简单的谷歌应用引擎的helloworld应用时遇到了问题,使用的是python2.7。我设置了C:\Python27\env\Scripts\python.exe作为解释器。但是运行时出现了一个错误,说无法导入pdb。
从命令行运行虚拟环境中的python并调用'import pdb'没有报错。输入pdb时显示:module 'pdb' from 'C:\Python27\lib\pdb.py'。所以从命令行来看,它能在根目录的lib文件夹中找到pdb。应用引擎的调试输出显示它在使用虚拟环境的python。我确保在设置PyDev解释器时,系统的PYTHONPATH中包含了C:\Python27\lib,但这似乎没有影响。真奇怪。(我还在C:\Python27\DLLs和C:\Python27\lib\lib-tk中有文件)。
所以我尝试用根目录的python.exe作为解释器,这样就没问题了。pdb也能正常工作,所以我的代码是对的。但现在它找不到我在虚拟环境中用pip添加的模块。
看起来有三种方法可以正确设置这个:
- 以某种方式使用虚拟环境中的python设置PyDev的python解释器,这样它就能找到根目录的pdb包。(我不知道怎么做,但这似乎是正确的答案。)
- 或者使用根目录的python,并将虚拟环境的site-packages添加到我的路径中。(不确定这样是否有效)。
- 别听pip的建议 - 在根环境中安装pip,并在根环境中安装我的模块。
我希望有经历过这个的人能给一些建议,告诉我最好的解决办法,以便后续问题最少。
1 个回答
3
我在google-appengine-python的讨论组里查了一些资料,他们建议选择第三个选项:在使用pip的时候,不要听它的建议,因为appengine和virtualenv不太兼容。
参考资料: