对不起,如果我听起来有点愚蠢.我很困惑这两个
virtualenv myvenv
和
-m venv myvenv之间的区别
第一个在创建虚拟环境时适合我,而另一个不适用.
我将CD放入我的开发目录并使用" virtualenv myvenv "并创建虚拟环境.但如果我使用" -m venv myvenv ",它只会出错.请帮我理解
np8*_*np8 21
我认为virtualenv 文档对此解释得最好:
venv
是virtualenv
自 Python 3.3 以来集成到标准库中的子集。子集意味着只有部分virtualenv
功能在venv
:
venv
因为它没有“app-data
种子方法”,所以可能会更慢venv
仅通过升级 Python 版本进行升级,而virtualenv
使用 pip 进行更新。venv
不可扩展virtualenv
拥有更丰富的编程 API (描述虚拟环境而不创建它们)。请参阅venv
此处的API。venv
不能自动发现任意安装的python版本,而virtualenv
可以。这意味着,如果要使用 PATH 中第一个版本以外的其他 Python 版本,则venv
必须指定python
可执行文件的完整路径。使用virtualenv
,您可以只提供版本号。请参阅virtualenv 文档中的python 发现。对我来说,差异非常微妙,唯一的实际差异venv
是包含在标准库中(自 3.3 起)。我已经使用python -m venv venv
了很长时间,从来不需要替代品。
Cos*_*tin 16
venv是一个直接附带python 3的包.所以你不需要pip install
任何东西.
virtualenv是一个独立的库,可在https://virtualenv.pypa.io/en/stable/获得,可以安装pip
.
他们解决同样的问题并以非常类似的方式工作.
如果你使用python3我建议避免"额外"的依赖,并坚持下去 venv
您的错误可能是因为您使用的是Python2/pip2
归档时间: |
|
查看次数: |
3950 次 |
最近记录: |