Mac/LinuxにPython開発環境一式をインストール

PythonでWEBアプリをつくるには、手元のPCに開発環境を作っておく必要があります。

Pythonでの開発には以下のものが必要です。

  • Homebrew
  • Pyenv
  • Pythonそのもの
  • pip
  • Virtualenv

上から順番にインストールしていきます。
なおMacには標準でPython2.7がインストールされているはずです。が、Pythonの最新版は3.5です(2018/5/29現在)。基本的には最新版をインストールしたらいいと思います。その場合もこのページにしたがってPython3をインストールしなおせばOKです。
※しかしながら、例えばGoogle App Engineのスタンダード環境ではPython3には対応していません。そういう事情があれば2.7でもいいでしょう。まあ既に古くなっているバージョンから覚え始めるのはあまりいい気はしませんが...。Pyhton2と3の違いはこちらの記事がわかりやすかったです。

なお、これからの作業はすべて管理者権限のあるユーザーとしてログインしたうえで、ターミナルにて行います。

Homebrewのインストール

HomebrewはMac用のパッケージマネージャの定番です。パッケージマネージャとは簡単にいうとApp Store的な、各ソフトのインストールやアップデートを一元管理できるプログラムです。インストールしておけば今後もなにかと便利でしょう。

まずはhomebrewが既にインストールされていないか確かめます。

brew -v

command not found」と表示された場合はインストールされていません。以下のコマンドでインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Enterキーの入力を求められたら応じましょう。また、パスワードを求められたらログインしているユーザーのパスワードを入力します。

終わったら、もう一度以下のコマンドを入力してインストールが成功したか確かめます。バージョン番号がでれば成功です。

brew -v

Pyenvのインストール

PythonのインストールにはPyenvが必要です。PyenvはPythonを使う上でめちゃくちゃ便利です。

PyenvはさっきインストールしたHomebrewでインストールします。

brew install pyenv

インストールできたか確かめます。

pyenv -v

インストールできたら、.bash_profileにpyenvを利用できるように設定を追加する必要があります。
.bash_profileとはMac/Linuxのコマンドを定義するファイルです。今回pyenvのコマンドを追加するので、.bash_profileに書き加える必要があります。(.bash_profileについては詳しくはこちらがわかりやすかったです)

これら3つのコマンドを順番に実行します。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

3つ入力したら、sourceコマンドで今変更した設定を反映します。

source ~/.bash_profile

Pythonのインストール

Pyenvをインストールできたら、それを使ってPythonをインストールします。

以下のコマンドを実行すると、インストール可能なPythonの一覧が表示されます。

pyenv install --list

大量のリストが表示されたと思いますが、これらはすべてPythonのバージョンです。なにかアルファベットがついているのは基本的にデベロッパーズバージョン(早くいえばベータ版)です。上にスクロールしていって3.6.5のような数字だけのものを探しましょう。それが安定版です。

みつけた安定版のうち、いちばん新しいものを以下のようにコマンドに入力します。

pyenv install 3.6.5

インストールされたバージョンは以下のコマンドで確認できます。

pyenv versions

しかしながらこの状態ではまだインストールしただけで、Pythonのデフォルトのバージョンとして選択していません。globalコマンドでデフォルトのPythonのバージョンを切り替えられます。

pyenv global 3.6.5

さて、そうしたら試しにpython --versionでMacが呼び出すPythonのバージョンを確認してみましょう。

python --version

pipのインストール

ここまでで最新のPython自体はインストールできました。しかしこのままではまだPythonでWEBアプリをつくることはできません。もうこういうの一括でやってくれるソフトないんですかね。

pipはPythonでWEBアプリをつくる場合は必須の公式パッケージマネージャです。

このあとインストールするVirtualenvや、PythonでWEBアプリをつくる場合は必須のフレームワークであるDjangoFlaskもpipで簡単にインストールできます。

公式に配布されているget-pip.pyというPythonファイルを実行すればインストールできます。
こちらの公式サイトからブラウザ経由でダウンロードしてもいいですし、以下のcurlコマンドでもダウンロードできます。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

ダウンロードしたら、get-pip.pyファイルを実行します。
▷ブラウザでダウンロードした場合はあらかじめget-pip.pyファイルをユーザーディレクトリ直下に移動しておいてください

python get-pip.py

これでpipをインストールできました。念のため最新版にアップデートのコマンドを実行しておきましょう。

pip install --upgrade pip

Virtualenvのインストール

Virtualenvはその名の通り「仮想環境」です。Flaskなどフレームワークを利用してWEBアプリをつくる際、必要なライブラリや依存ファイルをこのVirtualenvの中に閉じ込めておけるので、PCの中身をごちゃごちゃにしてしまう心配がありません。

インストールはpipを使ってワンコマンドで完了です。

pip install --upgrade virtualenv

バージョンは以下のコマンドで確認できます。

virtualenv --version

virtualenvの詳しい使い方はGAEでFlaskアプリを立ち上げるのページで解説しています。

おわり

これでPythonでの開発の準備ができました。次回はGoogle App EngineでPythonのフレームワークとしてメジャーなFlaskを立ち上げます。

Progateを修了したばかりみたいな人がいきなりフルスタックフレームワーク(DjangoやRuby on Rails)を扱うのはよくないと思います。なにがなんだかわけがわかりません。おまじない祭りになります。Flaskは「マイクロフレームワーク」を自称するように、シンプルですべての挙動を理解しながらWEBアプリを構築できます。そのうちDjangoを使うにしても、フレームワークとはどういうものか、WEBアプリはどういう仕組みで動いているのか、データベースとはなにかということをFlaskで体感してからの方がいいと思います。