web-dev-qa-db-ja.com

オフライン時にconda環境をインストールするにはどうすればよいですか?

ネットワークに接続されていないマシンで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に指示するにはどうすればよいですか?

34
WalkingRandomly

ベースenvであるルートのクローンを作成してみてください。

conda create -n yourenvname --clone root

12
Arthur Alvim

pkgsフォルダーをコピーすることに加えて、condaが依存関係を見つける方法を知るように、インデックスを作成する必要があります。詳細については this ticket を、pkgsフォルダーのインデックス作成の例については this script を参照してください。

--unknownを@asmeurerが示唆するように使用すると、インストールしようとしているパッケージに依存関係がない場合にのみ機能します。

クローニングは別のオプションですが、これによりすべてのルートパッケージが提供されますが、これは望んでいない場合があります。

3
hgcrpd

--offlineなしで試しましたか?

conda create -n anaconda python=3.4 --channel PATHTO\Anaconda_py3

すでにマシン上にあるが別の場所にanacondaがある場合、インターネットに接続していない場合、これは機能します。このコマンドを実行するときにインターネットに接続している場合、Binstarで何かが見つからないことに関連するエラーが表示される可能性があります。

2
hsparra

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)で確認できます。すべての関連パッケージは同じ方法でインストールできます。

1
nocturno

Pkgsディレクトリはチャネルではありません。探しているフラグは--unknownを使用すると、condaがpkgsディレクトリ内のファイルをチャネルの1つで見つからなくても含めるようにします。

1
asmeurer

これが他の答えと矛盾するか同じかどうかはわかりませんが、 conda documentation の指示に従い、ローカルファイルシステムにチャネルを設定しました。

それから、新しいパッケージファイルをローカルディレクトリに移動するだけで、チャンネルサブフォルダで conda index を実行します(linux-64のような名前が必要です)。

Anacondaの設定offlineTrueに設定しました here ですが、それが必須かどうかはわかりません。

お役に立てば幸いです。

1
Bill

最も簡単な方法は次のとおりです。

  1. 'conda create --name namepackage'を特別なスイッチなしで実行します
  2. ダウンロードしようとした(失敗した)最初のパッケージのURLをコピーします
  3. 接続されたマシンのURLを使用してtar.bz2を取得します
  4. Tar.bz2をオフラインマシンの/ home/ser/anaconda3/pkgsにコピーします
  5. Tar.bz2を所定の場所に展開します
  6. 不要になったtar.bz2を削除します
  7. 「conda create」コマンドが成功するまで繰り返します
0
Urhixidur