【发布时间】:2015-10-20 07:00:18
【问题描述】:
我创建了一个虚拟环境。这是我安装的第三方包。
(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 中的“项目解释器”页面时,它列出了我在系统范围内安装的所有包,这真的很烦人。
我怎样才能使这些包不显示?我只想查看安装在这个特定 virtualenv 中的那些。
编辑
虽然--no-site-packages 参数适用于 Python2,但如果我使用 Python3 创建 virtualenv,它就不起作用
我用--no-site-packagesarguemnt 重新创建了这个虚拟环境:
(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 的“解释器路径”设置中删除路径。它只显示“已被用户删除”,但从未真正删除过这些路径。
现在我怀疑这是 PyCharm 的一个错误。
其他一些信息:
系统:OS X 10.10.5
PyCharm 版本:4.5.4
Python3.5 通过 homebrew 安装在以下位置:/usr/local/Cellar/python3/3.5.0/
编辑2
PyCharm 支持团队说:
PyCharm 使用 sys.path 这对你来说是错误的。如您所见,它适用于 2.7 版本,因此问题是特定于 Python,而不是 PyCharm。
Python 社区的人会帮助你。它不是 PyCharm 特有的。
【问题讨论】:
-
您是否尝试过使用
virtualenv --no-site-packages my-venv-folder从命令行创建virtualenv?完全猜测,不知道是否相关。 -
不,我没有。猜猜这就是原因。
-
@MikkoOhtamaa 我测试了它,它确实有效。您可以发布答案,我会接受。顺便说一句,在给定已创建的 virtualenv 的情况下,您知道如何进入“无站点包”状态吗?
-
虚拟环境不是要修复而是重建。所以只是从头开始创建。执行
pip freeze并从requirements.txt列表中手动选择包进行pip 安装。 -
@MikkoOhtamaa “从头开始创建”是否意味着“在终端中创建”?如果是这样,那就是我所做的。
标签: python virtualenv pycharm