mja*_*sie 5 python python-3.x python-venv
使用 conda 创建新环境时,我们会得到一个完全空的虚拟环境:
conda create --name=test
conda activate test
conda list
Run Code Online (Sandbox Code Playgroud)
最后一个命令的输出是一个空列表,甚至没有pip安装。我想用 pythonvenv命令实现相同的结果(或者至少只pip安装了“最小”虚拟环境)。当我运行时python -m venv test,新环境包含所有“系统范围”可用的包:
python -m venv test
source test/bin/activate
pip freeze
Run Code Online (Sandbox Code Playgroud)
输出一长串包。
根据文档,该命令具有--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)
Run Code Online (Sandbox Code Playgroud)
如果您已经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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6936 次 |
| 最近记录: |