使用和不使用 Python 运行 venv 命令有什么区别?

我正在齐心协力地了解 Python 打包的工作原理,并且我不断看到以下习语被反复使用。例如,如果您使用 venv 创建虚拟环境,您可以这样做...

python3 -m venv tutorial_env

或者你可以这样做

pyvenv tutorial_env

在幕后,使用 python3 创建虚拟环境和使用 pyvenv 创建它之间的真正区别是什么?为什么要使用一个命令而不是另一个?


慕慕森
浏览 220回答 2
2回答

GCT1015

根据python docs两者是等效的。这是来自python 3.4 源代码的pvenv 脚本:#!/usr/bin/env python3if __name__ == '__main__':    import sys    rc = 1    try:        import venv        venv.main()        rc = 0    except Exception as e:        print('Error: %s' % e, file=sys.stderr)    sys.exit(rc)笔记:该pyvenv脚本随 Python 3 一起提供,但在 Python 3.6+ 中已被弃用,取而代之的是python3 -m venv. 这可以防止混淆 pyvenv 连接到什么 Python 解释器以及虚拟环境将使用什么 Python 解释器。

千万里不及你

Mayank Porwal 的回答让我想到了这个问题,它说 pyvenv 是 venv 的包装器,在 Python 3.6 中已弃用。这什么新的Python 3.6讲述为什么pyvenv已被否决。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python