インストール(Anaconda)

Pythonのインストールには、WindowsではAnacondaを使うのがよい。

概要

インストールだけしたい人はこちら。

Anacondaとは

  • パッケージ管理ツール
  • 複数環境管理・切り替えツール
  • JupyterなどPython周辺ツール

の複合みたいなもの。

利点

Pythonは、NumPy・SciPyなどのパッケージが魅力だが、いくつかの問題をはらむ。

  • パッケージ同士の依存関係が複雑になりがち
  • 特にWindowsでは、パッケージのインストールに失敗することがある(後述)
  • バージョン互換の関係で、入れられないパッケージがある

Anacondaでは、魔法のようにとはいかないが、そこそこ便利にこれらに対する対策を与えてくれる。

管理ツール

condaというパッケージ管理ツールが付属し、複雑な依存関係を管理してくれる。

condaでなくとも、Pythonではpipという管理ツールがデフォで使える。しかしpipは「ソースの状態で提供するからビルドはローカルでやってね」的なインストール方法がとられるパッケージもあり、Windowsではその環境を別に整える必要がある。それらのツールも基本的にLinux向けなので、ややこしい。condaはビルド済みで提供してくれるので失敗が少ない。ただし、提供者のミスによるエラーも稀にあるが。

また、Anacondaのレポジトリで提供されていないパッケージをpip経由でインストールすることも可能。インストールしたパッケージはAnacondaからは依存関係の解決や更新などの対象にはならないが、ひとまず「インストールされている」という事実は保持してくれる。

複数環境を共存できる

異なるバージョンを両方インストールして切り替える使い方が出来る。

  • 事例1 - 継続プロジェクト
    • Ver.3.4で作成して継続的に動かしているプロジェクトがある
    • 新規プロジェクトはVer.3.6で行いたい
    • 全体の環境を変えるとVer.3.4のが動かなくなる可能性がある
    • →3.4と3.6を共存させられる
  • 事例2 - バージョン互換
    • 更新が止まっているパッケージ(A)を使いたい
      • 更新は止まっているが、普通に使える
      • (A)は別のパッケージ(B)に依存している
      • パッケージ(B)は更新が続いていて、最新Ver.を使っている
    • (A)はレポジトリの互換関係も更新されてないので、(B)も1つ前のVer.を要求され、競合で入れられない
    • (B)は他のプロジェクトでも使っており、Ver.を落とすと影響を与えかねない
    • →(A)のために(B)のバージョンを落とした専用の環境を作り、共存させられる

Anacondaの留意点

容量は肥大化しがち

NumPyなど、よく使うパッケージをデフォルトで入れてくれる。便利な反面、最小公倍数的にあれこれ入っているので、容量はそれなりに食う。複数環境を構築したらその分だけ重複して食う。

LinuxやMacなどでは、システムとの競合も

あまりOSを使わないので詳細は不明だが、LinuxではシステムとしてPythonが入っており、システムから利用されることもある。Anacondaを不用意にインストール・設定することで、システムのPythonより優先的に使用されるようになり、バージョン互換で動かなくなるなどトラブルの原因となることもあるようだ。

Linuxでは上記のインストール時ビルドのような失敗も起こりづらいため、Windowsと比較すると、Anacondaを採用する積極的理由は薄くなる。

とはいえ、Anacondaの提供する機能を別のツールで個別に使えるようにするのはそこそこ骨が折れるので、優先順位だけ注意だけしとけば良いんじゃないかな。

インストール

Anacondaのインストール

Pythonが既にインストール済みなら前もってアンインストール

普通にインストーラを落として実行。特に理由が無ければ最新のPython3.xでいい。

環境変数

環境変数は自分で指定する。

インストール時に特に何も変えないと、Anacondaのコアは「C:/Users/(ユーザ名)/Anaconda3」にインストールされる。つまり、ユーザ毎にインストールされるということ。なので環境変数もユーザ環境変数を使うのがいいだろう。

ANACONDA_HOME = C:/Users/(ユーザ名)/Anaconda3
ANACONDA_ACTIVE = %ANACONDA_HOME%
Path = (既存のPath);%ANACONDA_ACTIVE%;%ANACONDA_HOME%\Scripts

別に変数名とかこの通りで無くてもいい。あくまで一例。

%ANACONDA_HOME% にはpython.exeがあり、最初にデフォルトで作られている環境である。

%ANACONDA_HOME%\Scripts にはconda.exeやactivate.batなど、Anacondaのツールがある。Pathに追加すると、これらをどこからでも使えるようになる。

%ANACONDA_ACTIVE% は通常状態でコマンドプロンプトで「python」とした時に呼ばれるpython.exeのある場所であり、とりあえずデフォルト環境を指定している。もし他の環境を呼ばれるようにしたい場合は、追加した環境は C:/Users/(ユーザ名)/Anaconda3/envs/(環境名) に作成されるので、そこを指定する。

確認

コマンドプロンプトから、

> conda --version
conda 4.3.30

などと表示されればOK。

アップデート

Anacondaのインストール時点で、主要なパッケージも付随してインストールされている。これをアップデートしておく。

> conda update --all

時間はかかるので、任意で。

環境の構築

インストール時点で、rootに環境は1つ用意される。

他に環境を用意したい時、

> conda create -n env_name(任意)

で“env_name”という名前の環境が用意される。

同時にPythonのバージョンや、最初から入れておくパッケージも指定できる。

> conda create -n env_name python=3.5 package1 package2 package3...

これだとpython3.5で用意される。同時にpackage1,2,3というパッケージを最初から入れてくれる。

パッケージ名に“anaconda”を指定すると、人気パッケージ詰め合わせセットがインストールされる。結構な数にのぼる。

それはそれで便利とも言えるが、容量を食うし、IDEを使っている場合、起動時のキャッシュの構築に時間がかかったりするので、お好みで。

なおインストール時のrootのpythonには勝手に入る模様。

環境の切り替え

> activate env_name

これで、このセッションに限り、環境がenv_nameになる。

> deactivate

で元に戻る。

パッケージのインストール

> conda install (package_name)

でインストール。

> conda search (package_name)

でどんなものがあるか検索できる。

デフォルトのチャンネルにパッケージが無かったりバージョンが古かったりした場合、別のチャンネルからインストールすることもできる。:: Anaconda Cloud の上の検索ボックスにパッケージ名の一部を入れると、提供しているチャンネルとバージョンがリスト表示される。ご丁寧にコマンドが記載されているので、そのままコマンドプロンプトに貼り付けると、インストールされる。

環境の掃除

しばらく使ってると、ゴミが溜まってくる。特に、一度インストールしたパッケージは、アンインストールしたり、新しいバージョンに更新したりしても、ファイルとしては残り続けるため、容量を食う。

> conda clean --all

掃除しないと、気がつけばAnacondaのフォルダが50GB超えてたとかいうことにもなりかねない。別にこまめにする必要は無いが、たまにはすることを覚えておく。

programming/python/install.txt · 最終更新: 2018/09/08 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0