win10-virtualenvwrapper虛擬環(huán)境遷移、克隆
1、問題描述
深度學習的torch環(huán)境極其脆弱,隨意更改包的版本可能導致全面崩潰。開新坑時最好重新搭建一個虛擬環(huán)境。但配置torch環(huán)境十分復雜,本文將解決如何使用已有的環(huán)境作為模板建立一個新的環(huán)境。
2、系統(tǒng)和軟件
python版本3.9.8
虛擬環(huán)境管理包vritualenv,virtualenvwrapper-win
3、解決辦法
方法1:復制虛擬環(huán)境后更改路徑。
①復制環(huán)境
首相將存在的虛擬環(huán)境復制一個副本,更改文件夾名稱后作為新的虛擬環(huán)境。但此時打開新的虛擬環(huán)境,pip路徑、python解釋器路徑均指向舊的環(huán)境,使用pip安裝或卸載會導致原本的環(huán)境更改。

如圖,venv2是將venv1復制之后改名的環(huán)境,進入venv2時由于內部的配置文件的路徑還是venv1的路徑,因此打開的環(huán)境還是venv1,此時的pip仍然為venv1的pip,安裝也會安裝到venv1中。
②更改路徑
venv\pyvenv.cfg,venv\Scripts\activate,venv\Scripts\activate.bat三個文件需要修改。
首先修改pyvenv.cfg,使用conda安裝的需要將其中的home修改為新的python路徑。直接安裝python的可以參考原環(huán)境中的路徑,如果是python基礎環(huán)境就不改了。
第二個修改activate,使用記事本打開,修改activate中的VIRTUAL_ENV指向新的venv
路徑。
第三個修改activate.bat,將VIRTUAL_ENV指向新的venv2的路徑
③重新安裝pip
首先激活新venv,然后卸載新環(huán)境中的舊pip:
python -m pip uninstall pip
然后重新安裝pip, 這個時候你可以選擇去官網下載pip安裝包進行,但是這樣感覺有點太麻煩了,推薦直接使用如下命令安裝:
python -m ensurepip --default-pip
方法二:先將python解釋器中的標準庫文件復制到新的路徑,然后再復制所有軟件包
①激活老環(huán)境,然后使用如下命令將Python解釋器中的標準庫文件復制到新的虛擬環(huán)境中:
python -m venv --copies? 新路徑
②直接復制老環(huán)境venv1下的venv1\Lib\site-packages文件夾到新環(huán)境venv2下的venv2\Lib\site-packages,建議將新環(huán)境下的venv2\Lib\site-packages刪除再復制。
③將老環(huán)境venv1的script文件夾中所有文件復制到新環(huán)境venv2的script中,不要替換。