在PyCharm中删除virtualenv中的系统范围包

时间:2015-10-20 07:00:18

标签: python virtualenv pycharm

我创造了一个virtualenv。这是我安装的第三方软件包。

(zhihu-py3)
laike9m@laike9m  ~/D/P/E/z/zhihu-py3   master 
❯ pip freeze                                                                                                                       
beautifulsoup4==4.4.1
html2text==2015.6.21
requests==2.8.1
zhihu-py3==0.2.5

然而,当我去"项目口译员"在PyCharm的页面中,它列出了我在全系统安装的所有软件包,这真的太烦人了。

enter image description here

我怎么能不显示这些包裹?我只想看看这个特定的virtualenv中安装的那些。

修改
虽然--no-site-packages参数适用于Python2,但如果我使用Python3创建了virtualenv,则它不起作用

我用--no-site-packages arguemnt:

重新创建了这个virtualenv
(zhihu-py3)
laike9m@laike9m  ~/D/P/E/zhihu-py3 
❯ pip freeze                                                                                                          
wheel==0.24.0

请注意,no-global-site-packages.txt确实存在。

laike9m@laike9m  ~/D/P/E/zhihu-py3 
❯ ll lib/python3.5/ | grep no-gl                                                                                                    
-rw-r--r--   1 laike9m  staff      0 Oct 21 15:03 no-global-site-packages.txt

但是,PyCharm仍然从系统范围加载所有包。 enter image description here

我尝试删除Pycharm" Interpreter Paths"设置。它只是显示"被用户删除"但从未真正删除过这些路径

enter image description here

现在我怀疑这是PyCharm的错误。

其他一些信息:
系统: OS X 10.10.5
PyCharm版本: 4.5.4
Python3.5通过自制软件安装在位置: /usr/local/Cellar/python3/3.5.0 /

EDIT2
PyCharm支持团队说:

  

PyCharm使用sys.path,这对你来说是错误的。正如您所看到的,它适用于2.7版本,因此问题特定于Python,而不是PyCharm。

     

Python社区的某些人会帮助您。它不是PyCharm特有的。

1 个答案:

答案 0 :(得分:0)

使用virtualenv --no-site-packages my-venv-folder从命令行创建virtualenv。这样,已经安装在系统范围的Python安装(site-packages)中的软件包不会反映在虚拟环境中。