3 回答

TA貢獻1780條經驗 獲得超5個贊
--system-site-packages
不復制包,它只允許來自 virtualenv 的 python 訪問C:\Users\XXX\AppData\Local\Programs\Python\Python36\Lib\site-packages\
.
無法復制軟件包,因為它們可能依賴于它們的安裝目錄。如果您希望 virtualenv 中的這些包不要使用--system-site-packages
并安裝 virtualenv 中的所有包。

TA貢獻1797條經驗 獲得超4個贊
如果不是強制使用 virtualenv,我建議使用 Anaconda。這將非常有助于您的擔憂。
Conda 作為包管理器可幫助您查找和安裝包。默認情況下,已經安裝了很多包,以便為您的項目快速設置。要檢查終端中安裝的軟件包列表,請鍵入: conda list 以獲取使用 conda 安裝的軟件包。
如果你需要一個需要不同版本 Python 的包,你不需要切換到不同的環境管理器,因為 conda 也是一個環境管理器。
只需幾個命令,您就可以設置一個完全獨立的環境來運行不同版本的 Python,同時繼續在您的正常環境中運行您常用的 Python 版本

TA貢獻2003條經驗 獲得超2個贊
virtualenv 環境就像您剛剛安裝了新版本的 Python 一樣。除了 Python 提供的標準包之外,它沒有其他包。如果您需要其他軟件包,您必須使用“pip”安裝它們,或者您可以使用您正在使用的本機 Python 版本來安裝它們。
所以一般來說,只要做pip install <packagename>
。
如果您發現自己經常想用一組標準的基礎包創建 virtualenv,那么將一個 requirements.txt 文件放在一起,列出您想要作為基礎安裝的所有包,并pip install -r requirements.txt
在創建后立即在新的 virtualenv 中執行.
virtualenv 的一個好處是它是你的。您的用戶擁有 100% 的所有權,這與系統擁有的基本 Python 版本不同。要將新軟件包安裝到基本 Python 版本中,您通常必須具有 root 訪問權限(sudo 權限)。使用 virtualenvs,你不需要特殊的權限(事實上,如果你sudo
在 virtualenv 中使用,你會被搞砸)來安裝你想要的所有包。你所做的一切都在你自己的主目錄中。另一個巧妙的事情是,當你完成一個 virtualenv 時,你只需扔掉包含它的根目錄。
添加回答
舉報