pythonを使っていると、numpyやscipyなどの便利なパッケージを使うためには、これらのパッケージをインストールする必要があります。
こういったパッケージのインストールについては、パッケージ管理のツールとしてAnacondaを使うことが多いです。anacondaはインストールするだけ、統合開発環境(IDE)のspyderも入っているので、非常に使いやすいです。
numpy やscipyみたいなパッケージをインストールするだけなら、conda install numpyとかみたいな感じで、簡単にインストールできて使えるのですが、実際にgithubとかに落ちているスクリプトを使おうとすると、なかなか開発環境が作れないことが多々あります。
その中でも、優しい開発者さんの場合だと、そのpythonスクリプトを動かすためのパッケージファイルのリストを用意してくれている場合があります。そのファイルというのが、ymlファイルというものになります。
今回の記事ではAnacondaでymlファイルから環境を構築するプロセスについて紹介してみたいと思います。この記事は、python超絶初心者のわたくし甘味が試行錯誤して、ymlファイルの環境構築まで至ったプロセスなので、非効率的な所なども多々あると思います。
まずはAnaconda navigatorへからpythonを操作しよう
まず普通のパッケージのインストールとも共通する部分ですが、まずはAnaconda Navigatorにアクセスすることが必要になります。Anaconda NavigatorはAnacondaをインストールした時点で一緒にインストールされています。
スタートボタンからAnaconda3(64bit)の中に入っています。この場所は後々よく使うことになるので覚えておきましょう。
その後Anaconda Navigatorを開くといろんなアプリが出る画面が出てきますが、その画面の中の左中段~上くらいのEnvironmentのタブをクリックします。そうすると今まで自分が作った仮想環境のリストがでてきますが、これまでに個別の仮想環境を構築したことがない場合には、base(root)ってやつだけがあるはずです。
baseはもともとAnacondaでデフォルトに設定されている環境だと思ってください。
次にbase の所にマウスを持ってくると、三角形のボタンが出てくるのでそれをクリックすると、いろいろでてきますが、その中の一番上の項にある「Open Terminal」の所をクリックします。
そうすると、真黒な小さなウィンドウが出てきます。ここのいろいろなコマンドを打ち込むことによってAnaconda環境にパッケージを追加した、消したり、新しい環境構築をすることができます。
例えばscipyを入れたい場合には、このOpen Terminalの所から「conda install scipy」もしくは「pip install scipy」と入力するとデフォルトの環境にscipyを入れることができます。
しかしながら、ymlファイルから環境を構築する場合には、ここからさらにひと手間必要になります。初心者が躓きやすいディレクトリ関係の操作です(わたくし甘味もいまだにディレクト移動とかファイルパスとかの設定は大嫌いです。特にパス設定はいつになってもわかんないし、いつもエラーの原因になる(笑))
ディレクトリ移動自体はそこまで難しいわけではなく、先述のOpen Terminalを開いて、ymlファイルのあるフォルダのアドレスをコピーして、Open Terminalにて
cd コピーした部分
を打つとそのディレクトリに移動できるので、そこで
〇〇〇.yml
↑ここはymlのファイル名
を入力するとymlファイルで定義されている環境を構築してくれます。
環境を構築できたら利用できるようにしよう
ymlファイルから仮想環境を構築できたら、先ほどのEnvironment の項を開くと仮想環境が追加されていると思います。
その仮想環境を実際に使う手順としてはいろいろあると思うのですが、私はIDEのSpyderを使いたいので、この仮想環境からspyderを開けるようにします。
手順はわりと簡単で、開きたい仮想環境のOpen Terminalを開き、pip install spyderを入力して、spyderをインストールします(ymlにはspyderが入っていないことがある)。
それが完了したら、次にOpen Terminal上でspyderと入力すると、その仮想環境が適用されたspyderを開くことができます。
一度この処理を行うと、それ以降は、windowsのスタートボタンから入れるAnaconda3(64bit)の所に、その仮想環境用のspyder が入っているのでそこから開くことができるようになります。
yamlファイルを使わない方法については別法もあります。
yamlファイルを使ったanacodna環境構築は便利である一方で、ちょっとニッチなプログラムやローカルで自分で入れたパッケージが含まれているとうまく動かない場合があります。その場合には、直接フォルダをコピーして移してしまった方がよい場合があります。
そちらについても記事をまとめましたので、こちらもあわせて参考にしてももらえればと思います。