簡體   English   中英

使用和不使用Python運行venv命令之間有什么區別?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM