ネットワークに接続されていないマシンでconda環境を作成したいと思います。これまでにやったことは:
インターネットに接続されているマシンで:
conda create -n python3 python=3.4 anaconda
Condaはすべての関連パッケージを\Anaconda\pkgs
にアーカイブしました。これらを別のフォルダーに入れ、ネットワークに接続していないマシンに移動しました。フォルダーのパスはPATHTO\Anaconda_py3\win-64
です
私は試した
conda create -n python=3.4 anaconda --offline --channel PATHTO\Anaconda_py3
これはエラーメッセージを与えます
Fetching package metadata:
Error: No packages found in current win-64 channels matching: anaconda
You can search for this package on Binstar with
binstar search -t conda anaconda
私は何を間違えていますか?このディレクトリ内のパッケージに基づいて環境を作成するようにcondaに指示するにはどうすればよいですか?
ベースenvであるルートのクローンを作成してみてください。
conda create -n yourenvname --clone root
pkgs
フォルダーをコピーすることに加えて、conda
が依存関係を見つける方法を知るように、インデックスを作成する必要があります。詳細については this ticket を、pkgs
フォルダーのインデックス作成の例については this script を参照してください。
--unknown
を@asmeurerが示唆するように使用すると、インストールしようとしているパッケージに依存関係がない場合にのみ機能します。
クローニングは別のオプションですが、これによりすべてのルートパッケージが提供されますが、これは望んでいない場合があります。
--offlineなしで試しましたか?
conda create -n anaconda python=3.4 --channel PATHTO\Anaconda_py3
すでにマシン上にあるが別の場所にanacondaがある場合、インターネットに接続していない場合、これは機能します。このコマンドを実行するときにインターネットに接続している場合、Binstarで何かが見つからないことに関連するエラーが表示される可能性があります。
Linuxで私に合ったものは次のとおりです-
(a)空の環境を作成する-$ CONDA_HOME/envsの下に空のディレクトリを作成するだけです。 -conda info --envsで確認します。
(b)新しいenvをアクティブにします-source activate
(c)インターネットに接続されているマシンの https://anaconda.org/anaconda/repo から適切なパッケージ(* .bz2)をダウンロードし、隔離されたホストに移動します。
(d)ローカルパッケージを使用してインストールする-conda install。たとえば、condaはpython-3.6.4-hc3d631a_1.tar.bz2をインストールします。python-3.6.4-hc3d631a_1.tar.bz2は現在のディレクトリに存在します。
それでおしまい。通常の方法(python -V、conda list -n)で確認できます。すべての関連パッケージは同じ方法でインストールできます。
Pkgsディレクトリはチャネルではありません。探しているフラグは--unknown
を使用すると、condaがpkgs
ディレクトリ内のファイルをチャネルの1つで見つからなくても含めるようにします。
これが他の答えと矛盾するか同じかどうかはわかりませんが、 conda documentation の指示に従い、ローカルファイルシステムにチャネルを設定しました。
それから、新しいパッケージファイルをローカルディレクトリに移動するだけで、チャンネルサブフォルダで conda index
を実行します(linux-64
のような名前が必要です)。
Anacondaの設定offline
をTrue
に設定しました here ですが、それが必須かどうかはわかりません。
お役に立てば幸いです。
最も簡単な方法は次のとおりです。