search
LoginSignup
41

More than 3 years have passed since last update.

posted at

updated at

オフライン環境下にあるPCにAnaconda仮想環境を構築するお話

目的
オープンなネットワークへのアクセスを許容していない社内ネットワーク環境のような、クローズドな環境下にある社内サーバ・PCに対して、Anaconda仮想環境を構築するお話です。オンライン環境下であれば単純なインストールコマンドやyamlファイルからのcreateで構築可能ですが、オフライン環境下にある場合においても使い慣れたAnacondaを使って仮想環境を構築したい場合のtipsになります。

環境前提
・対象のサーバ・PCにはAnacondaが導入されている
・USBメモリ・DVD等メディアや社内ネットワーク経由でサーバ・PCへのファイル転送はできる
・外部インターネットに接続可能なPCが別途ある

試したオフラインPCのスペック
・Windows 10 Pro 1709
・conda 4.5.0

事前準備

オフライン環境下で仮想環境を構築するにあたり、インストールしたいパッケージファイルが必要になります。まずはオンライン環境下にあるPCで、同様の仮想環境を構築し、依存関係も考慮した必要なパッケージのリストやパッケージファイルそのものを入手します。

conda create -n [新しい仮想環境の名前] py=3.X.X
conda install [必要なパッケージを指定]
conda list でインストールされたパッケージのリストが確認できます

anacondaフォルダの pkgs フォルダ内にインストールしたパッケージ(tar.bz2などで圧縮されたもの)が格納されています。他の仮想環境構築時に取得されたパッケージファイルもあるので、作成日時やリストと照らし合わせて必要なパッケージをピックアップします。

それらパッケージをオフライン環境下にあるPCに、USBメモリやネットワーク経由で転送できれば、
事前準備は完了です。

オフライン環境下での仮想環境の構築

1. 仮想環境の作成
conda create -n new_env --offline

ここでは new_env という名前で作成しました。既存する仮想環境を複製しパッケージを追加する手法もできないかと思い clone を試したものの、オンライン環境が必要なのか通信エラーで上手くいきませんでした。
※ 実行エラーとなったコマンド例
conda create -n new_env --clone [既存環境の指定]
conda create -n new_env --clone [既存環境の指定] --offline

2. 仮想環境が作成されたことを確認
conda env list

新たに作成した new_env がリストにあれば◎

3. 仮想環境 new_envをアクティブに
activate new_env

アクティブのやり方は環境に合わせて実施ください
source activate new_env
conda activate new_env

4. new_env環境にあるインストール済みパッケージの確認
conda list

と、やってみるとこの段階ではパッケージが1つもない空の状態でした。
試しに 「python」とコマンドを叩いてみると起動しますが、これは「base」環境のpythonが呼び出されているだけのようです。

5. Pythonのインストール

ここから事前に準備したパッケージファイルを使い、インストールしていきます。
まずは Python をインストール

cd [パッケージファイルを集めたフォルダ]
conda install python-3.X.X-XXXXXX.tar.bz2
6. その他パッケージのインストール

以降、ものぐさな私は下記コマンドでとりあえず一括インストールしています。
このやり方で特に問題は発生していませんが、厳密に検証したこともないので
ここは各々のご判断で。jupyter notebookとかはこの一括インストールで問題なく動いてくれています。

for /f %i in ('dir /A-d /B *.tar.bz2') do conda install %i

↑ dirコマンドで取得した .tar.bz2 のファイル一覧 を1行ずつ conda install の引数に指定するwindowsのコマンドです。Linuxでいう xargs みたいなものです

7. インストールされたパッケージの確認

conda list で確認してみると、インストールされたパッケージがずらっと表示されるはずです。
必要なパッケージが正しくインストールされていることを確認したら、
オフライン環境での仮想環境構築はこれにて完了です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
41