[英]Differences between mkvirtualenv and virtualenv for creating virtual environments
[英]What's the difference between “virtualenv” and “-m venv” in creating Virtual environments(Python)
對不起,如果我聽起來有點愚蠢。 我很困惑這兩者之間有什么區別
虛擬環境 myvenv
和
-m venv myvenv
第一個對我來說很適合創建虛擬環境,而另一個則不行。
我 CD 進入我的開發目錄並使用“ virtualenv myvenv ”,它創建了虛擬環境。 但是如果我使用“ -m venv myvenv ”它只會給出錯誤。 請幫我理解
venv是一個直接隨 python 3 提供的包。所以你不需要pip install
任何東西。
virtualenv是一個獨立的庫,可在https://virtualenv.pypa.io/en/stable/使用,並且可以使用pip
安裝。
它們解決相同的問題並以非常相似的方式工作。
如果您使用 python3,我建議避免“額外”的依賴並堅持使用venv
你的錯誤可能是因為你使用了 Python2/pip2
我認為virtualenv 文檔對此解釋得最好:
venv
是自 Python 3.3 以來集成到標准庫中的virtualenv
的子集。 子集意味着只有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
很長一段時間,從來不需要替代方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.