本とかニュースとかITとか

SIerのSEだったりIT企画だったりのサラリーマンブログ

pythonの環境構築メモ(Mac)

pythonとはなんぞや、というので昔に少し触ったことがある程度だが、仕事でデータ処理等をやるようになりそうなので、改めて環境構築をする。 (前提:python 3.6〜)

Homebrewのインストール

単純に入れればOK。

(1回汚すと面倒なので注意)

pythonのインストール

注意)OSのプリインストールとして、python2.7あたりが入っている可能性がある。OS機能で使用するpythonであり、残念ながらバージョンが低いため、触らぬ神に祟りなしなので、いじらないこと。

homebrewが正しく動いていれば、以下のコマンドでインストールされる。

$brew install python3

確認のため

$python3  --version

と打って、pythonバージョンが返ってくればOK。

pythonバージョン管理について

pythonの環境構築についてネットで調べるとpyenvやvirtualenvを使ったpython自体のバージョン管理をする方法が載っているが、少なくとも私程度の使い方でpythonバージョンを意識して動かすことはないため、不要(無駄な管理ツールを入れるのは最終的に環境を汚すことになるだけだと思う)。

ライブラリ(パッケージ)管理

python3自体にデフォルトで入っている"pip3"がpythonのライブラリ・パッケージ管理を行う。 誤解を招きそうだが、パッケージ管理を初めて知る人用に書くと以下のようなイメージか。

Mac --(homebrew)-- python3 --(pip3)-- scikit-learn
                                -- emacs                 -- jupyter  
                                -- zsh

ということで、pip3なるものを使ってpythonのライブラリ管理を行えば良い。 基本的にはpythonの環境構築はここで終了。

私のような初心者は、後は何かしらのエディター(emacsはいいぞ!と言いたいが何でもいい)をいれてソースコード(〜.py)を作って

$python3 hoge.py

とやれば晴れてhello world。必要なライブラリができたら

$pip3 install hogehoge

とやればOK。

パッケージ仮想環境(パッケージの切り分け)

書いた通り私のような初心者には上記で十分で、仮想環境を作ってパッケージの切り分けなんて必要ない。 しかし、python3.6には"venv"なるものが初めから入っている。 どういうものかくらいは知っていた方がいいかもしれない。

$python3 -m venv newPJ

で仮想環境作成。

$source newPJ/bin/activate

で環境を有効化(開始)。その後、必要なライブラリをpipでインストールしたり、開発を行う。その後、

$deactivate

で環境を無効化(終了)。 こうすることで、実環境自体のpipには何の変更もなく、他のPJに影響しない。

しかし、これらは複数のソースをいじり、ライブラリのバージョン等まで意識して開発するような方々のためであって初心者には全く不要であると思う。 (「外部ライブラリ?そんなの手動でリンクすりゃいいだろ!」みたいなことをやっていた人間にとって、現代のパッケージ管理は初心者への壁を高くしている気がする。)

Anaconda

上記を無視して、何も考えずAnacondaを入れて動かしてもいいかもしれない。