使用Conda Pack進行環境打包遷移

KaoPuNotes發表於2024-11-28

使用Conda Pack進行環境打包遷移

1 背景

伺服器A已安裝好conda環境,而伺服器B因無網路只能進行離線安裝。

我們可以使用conda pack命令將伺服器A的環境打包,然後透過隨身碟等移動裝置傳輸至伺服器B進行離線安裝。

2 源伺服器A的環境打包

2.1 安裝 conda-pack。

使用命令 conda install conda-pack 或者 pip install conda-pack

conda install conda-pack 
# 或者
pip install conda-pack

2.2 檢視伺服器中已有的conda環境。

命令conda info -e

conda info -e

2.3 打包環境。

命令 conda pack -n env_name, 即 conda pack -n 環境名

  • 此時可能會報錯:

    Collecting packages...
    CondaPackError: Cannot pack an environment with editable packages
    installed (e.g. from python setup.py develop or
    pip install -e). Editable packages found:
    
  • 將命令改為下面的方式:conda pack -n env_name --ignore-editable-packages 即可。

3 目標伺服器B 環境安裝

假設已經將伺服器A打包的環境複製到伺服器B使用者目錄下/home/abc/env_name.tar.gz,伺服器B的anaconda安裝目錄位於 /home/abc/anaconda3/,那麼按照下面步驟進行操作:

3.1 在anaconda環境目錄下建立資料夾

命令 mkdir -p /home/abc/anaconda3/envs/環境名

3.2 將打包的環境安裝包解壓到相關目錄

命令 tar -xzvf 環境名.tar.gz -C /home/abc/anaconda3/envs/環境名

3.3 檢視是否遷移成功

# 檢視所有環境
conda info -e
# 啟用環境
conda activate 環境名
# 檢視安裝包
conda list

4 參考連結

  • 使用conda pack進行環境遷移(步驟很詳細)
  • 【Pytorch】Conda環境pack打包遷移報錯處理

相關文章