我在没有互联网连接的电脑上安装了 Anaconda 和 Python 3.6.4。 我想使用 virtualenv 创建一个新环境。 我认为virtualenv c:\proj\myNewEnv将创建一个新的虚拟环境,就像我的基本安装一样,在这个环境中我可以安装更多的包。 似乎我想念它是如何工作的。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
使用 conda 创建新环境时,我们会得到一个完全空的虚拟环境:
conda create --name=test
conda activate test
conda list
最后一条命令的 output 是一个空列表,甚至没有安装pip
。 我想用 python venv
命令达到相同的结果(或者至少有一个“最小”的虚拟环境,只安装了pip
)。 当我运行python -m venv test
时,新环境包含“系统范围”的所有可用包:
python -m venv test
source test/bin/activate
pip freeze
输出一长串包。
根据文档,该命令具有--system-site-packages
参数,但默认情况下它看起来是打开的,我找不到禁用它的方法。 我也尝试过使用旧的 virtualenv --clear
参数,但显然它没有被考虑在内。
编辑:
结果是环境模块module
命令干扰了 python 模块( https://modules.readthedocs.io/en/latest/ )。 运行module purge
pip freeze
返回空列表。
编辑:
尝试以下操作:
$ python3 --version
Python 3.7.4
$ python3 -m venv test_venv
$ source ./test_venv/bin/activate
$ pip list
Package Version
---------- -------
pip 19.0.3
setuptools 40.8.0
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(test_venv)
$ pip freeze
(test_venv)
如果您安装了virtualenv
,要创建一个没有“系统范围”pip 包的“新”虚拟环境,请尝试以下操作:
# create new folder:
$ mkdir test_venv
# create virtual env:
$ virtualenv test_venv/
# activate virtual env:
$ source ./test_venv/bin/activate
# list packages in virtual env (test_venv):
$ pip list
Package Version
---------- -------
pip 19.2.3
setuptools 41.2.0
wheel 0.33.6
(test_venv)
当我们使用venv
创建虚拟环境时,配置文件pyvenv.cfg
应该位于虚拟环境的根目录中。 根据文档,这个文件应该包含一行包含一个include-system-site-packages
键,如果venv
以前在没有--system-site-packages
选项的情况下运行,则设置为false
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.