[英]What is difference between using and not using Python to run the venv command?
我正在共同努力,以了解Python打包的工作原理,並且不斷看到以下習慣用法不斷被使用。 例如,如果您使用venv創建虛擬環境,則可以執行此操作...
python3 -m venv tutorial_env
或者你可以這樣做
pyvenv tutorial_env
在后台,使用python3創建虛擬環境與使用pyvenv創建虛擬環境之間的真正區別是什么? 為什么要使用一個命令而不是另一個命令?
根據python docs兩者是等效的。 這是python 3.4源代碼中的pvenv腳本 :
#!/usr/bin/env python3
if __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
。 這樣可以避免關於Python解釋器pyvenv連接到哪個以及由此虛擬環境將使用哪個Python解釋器的混淆。
Mayank Porwal的回答使我想到了這個問題 ,它說pyvenv是venv的包裝,在Python 3.6中已棄用。
《 Python 3.6的新增功能》說明了為什么不推薦使用pyvenv。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.