Conda 仮想環境のレプリケーションと移行

Conda 仮想環境のレプリケーションと移行

Conda 仮想環境をローカルにコピーする

conda create --name 新环境名 --clone 旧环境名

同じオペレーティング システム間で環境を複製する

方法 1:requirements.txt

この方法は、pip を使用してインストールした依存パッケージのみをエクスポートし、仮想環境が依存するパッケージはエクスポートしないため、推奨されません。また、仮想環境移行のアプリケーション シナリオには適していません。

実際、この方法は、プロジェクト文書を作成し、システムを実行するためにどの依存パッケージをインストールする必要があるかを他の人に伝える場合など、依存するパッケージがすでにわかっており、パッケージ情報のみが必要な状況に適しています。また、仮想環境自体の依存環境は無視します。

pip freeze > requirements.txt  # 生成requirements.txt
pip install -r requirements.txt  # 从requirements.txt安装依赖

方法 2: 環境.yml

-export オプションを使用して、environment.yml ファイルを生成すると、プラットフォームやオペレーティング システム間でプロジェクト環境を共有することもできます。正規リストとenvironment.ymlファイルの違いは、environment.ymlファイルがOS固有ではなく、YAMLを使用してフォーマットされることです。パッケージ名のみが記載されており、condaはパッケージ名に従って環境を構築します。もう 1 つの違いは、-export には pip でインストールされたパッケージも含まれますが、仕様リストには含まれていないことです。environment.yml ファイルをエクスポートするには、次の手順を実行します。

conda env export environment.yml
  • 環境.yml ファイルがパスにすでに存在する場合、conda はそれを上書きすることに注意してください。環境を作成します。
conda env create -f environment.yml

方法 3: Conda パック

Conda-pack は、conda 環境をパッケージ化するためのコマンドライン ツールです。これには、環境にインストールされているパッケージのすべてのバイナリが含まれています。この方法は、切断された環境での使用をサポートします。Environment.yml は Python 依存パッケージのそれぞれのリポジトリからパッケージをダウンロードして環境を構築するものですが、もちろんネットワーク速度が遅い、ダウンロードに失敗しやすいなどのデメリットがあります。この方法ではこの問題は発生しません。

conda-pack はプラットフォームと OS に固有であり、ターゲット マシンはソース マシンと同じプラットフォームと OS を持っている必要があることに注意してください。
conda-pack をインストールするには、サブ環境で利用できるように、ルート環境またはベース環境にいることを確認してください。Conda-pack は conda-forge または PyPI で入手できます。

conda-forge:

conda install -c conda-forge conda-pack

ピピ:

pip install conda-pack

梱包環境:

# Pack environment my_env into my_env.tar.gz
$ conda pack -n my_env

# Pack environment my_env into out_name.tar.gz
$ conda pack -n my_env -o out_name.tar.gz

# Pack environment located at an explicit path into my_env.tar.gz
$ conda pack -p /explicit/path/to/my_env

環境を他のコンピュータにコピーします。

# Unpack environment into directory `my_env`
$ mkdir -p my_env
$ tar -xzf my_env.tar.gz -C my_env

# Use Python without activating or fixing the prefixes. Most Python
# libraries will work fine, but things that require prefix cleanups
# will fail.
$ ./my_env/bin/python

# Activate the environment. This adds `my_env/bin` to your path
$ source my_env/bin/activate

# Run Python from in the environment
(my_env) $ python

# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of Python is already installed on the machine.
(my_env) $ conda-unpack

方法 4: envs ディレクトリ内の仮想環境フォルダーを直接コピーする

切断された環境では、仮想環境全体をソース コンピュータ (以下、まとめて src コンピュータと呼びます) からターゲット コンピュータ (以下、まとめてターゲット コンピュータと呼びます) に直接コピーすることもできます。前提として、ターゲット コンピューターはソース コンピューターと同じプラットフォームとオペレーティング システムを備えている必要があります。

1. ターゲット コンピュータに同じバージョンの Anaconda をインストールします。

2. ソース コンピューターから、envs フォルダーにコピーする必要がある仮想環境フォルダーをターゲット コンピューターにコピーし、任意の場所に配置します。

次のコマンドを使用して、ソース コンピューター上の仮想環境フォルダーのストレージ パスを表示できます。

conda env list

画像-20230426143639701

上図を例にとると、E:\ProgramData\Anaconda\envs\new_name は仮想環境 new_name のストレージ パスです。ターゲットコンピュータに直接コピーできます。

画像-20230426143959988

3. ターゲット コンピューターで conda コマンド ラインを入力し、次のコマンドを使用します。

conda config --add envs_dirs %复制到target电脑上的envs路径%

注:ここでのパスは、ターゲット仮想環境フォルダーの親ディレクトリです。

例えば:

上の図の new_name をターゲット コンピューターにコピーし、名前を env_pybd に変更しました。パスは G:\anoconda_envs\env_pybd です。

画像-20230426152249543

次に、conda を使用してコマンドを実行する必要があります。

conda config --add envs_dirs G:\anoconda_envs\

正常に実行されると、次の図に示すように、envs_dirs レコードが C:\user%current username%\.condarc に追加されます。

画像-20230426152437166

再実行

conda env list

正常にコピーされたことがわかります。

画像-20230426152756755

おすすめ

転載: blog.csdn.net/guigenyi/article/details/130404653