線上/離線遷移conda虛擬環境
阿新 • • 發佈:2021-01-19
線上/離線遷移conda虛擬環境
文章目錄
前言
工作中經常使用不同的電腦除錯python程式碼,往往每隔一段時間就會安裝不同版本的包,因此需要在不同的電腦下配置環境,記錄下來供需,以及自己後續安裝手冊。
關鍵字: conda環境遷移,線上/離線,windows 10
一、線上/有網環境遷移
其實就是提供了一個檔案安裝列表,免去手動輸入多次輸入安裝命令的煩惱,適用於不同作業系統環境下。1. 首先在conda的終端啟用自己想要遷移的環境
conda activate your_env
2. 然後生成自己的環境檔案
conda env export > your_env.yaml
3. 在另一臺機器上的conda終端克隆遷移的環境即可
conda env create -f your_env.yaml
4. 但是移植過來的環境只是安裝了你原來環境裡用conda install等命令直接安裝的包,你用pip之類裝的東西沒有移植過來,需要你重新安裝;所以仍需要到處pip安裝的list,pip匯出安裝的庫到requirements.txt
pip freeze > requirements.txt
5. pip匯入requirements.txt中列出的庫到系統
pip install - r requirements.txt
二、離線環境遷移
適用於將配置好的環境安裝無網的伺服器上,但要求二者的作業系統一致。此部分是我關注的重點,平時經常使用,重點是windows10系統。1. 安裝(測試機器和待部署機器上都需要安裝,建議在base環境安裝)
conda install -c conda-forge conda-pack
離線安裝 conda-pack,將下載好的包放在系統路徑下:
conda install --offline XXXX..tar.bz2
ps:此命令簡單粗暴,將下載好的安裝包放入系統路徑下:(base) C:\Users\Daddy> ,直接安裝進base中。
condapack -n my_env -o out_name.tar.gz
3 待部署機器上匯入環境
實際操作過程中證明,需要用命令列建立資料夾,這樣最終conda acitvate my_env時,才能識別。
cd C:\SoftWare\Anaconda3\envs
mkdir my_env
然後把壓縮包解壓入新環境中
cd C:\SoftWare\Anaconda3\envs\my_env
tar -xzvf out_name.tar.gz -C my_env
ps:將 out_name.tar.gz也放在envs環境下
4. 待部署機器上啟用環境
conda info -e # 檢視是否存在了新的環境
conda activate my_env
conda-unpack
三、引用
很久之前查的方案,當時別人的方法是針對linux系統的,本文有點小改進。時間太久了,不記得查的誰的材料了,後續發現,補充引用。