はじめに
僕なりの macOS で Python 環境を作るためのお話です。
pyenv と pyenv-virtualenv
ここでは Python の仮想環境を pyenv と pyenv-virtualenv で作成する方法を紹介します。
pyenv
Homebrew を用いたインストール
macOS を使用している場合は Homebrew を用いてインストールすることができます。Homebrew をインストールしていない場合はリンク先のインストールコマンドを実行しましょう。
pyenv のインストールコマンドは以下の通りです。
$ brew install pyenv
Git を用いたインストール
pyenv の GitHub リポジトリをクローンしてくることでもインストールすることができます。
コマンドは以下の通りです。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
パスの追加と初期化
インストールした pyenv を使用できるように、パスを通し、シェル実行時に初期化をしてやる必要があります。
今回は最新の macOS 標準の Z Shell( zsh ) の方法を紹介します。
Bash を使用している方は適宜 .zshrc
を .bash_profile
などに読み替えてください。
実行するコマンドは以下の通りです。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
Python バージョンの追加
仮想環境のためのバージョンを追加するにはバージョンを指定し、以下のコマンドで追加できます。
$ pyenv install x.x.x
この際、インストール可能なバージョン一覧は pyenv install -l
で確認することができます。
また、アプリケーションをビルドする場合などはフレームワークとしてインストールする必要があります。コマンドは以下のとおりです。
$ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install x.x.x
pyenv-virtualenv
Homebrew を用いたインストール
pyenv と同じく Homebrew でインストールできます。インストールコマンドは以下の通りです。
$ brew install pyenv-virtualenv
Git を用いたインストール
こちらも pyenv と同じく Git でもインストールできます。コマンドは以下の通りです。
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
初期化
pyenv 同様に、初期化のコマンドを追加します。
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
仮想環境の追加
仮想環境を追加するには以下のコマンドを実行します。
$ pyenv virtualenv x.x.x <name>
例えば、Python 3.8.2 で test-3.8 という名前の環境を作りたい場合は以下のようになります。
$ pyenv virtualenv 3.8.2 test-3.8
仮想環境の指定
グローバル
特別に、環境が指定されていない、グローバルな環境で使うバージョンを指定するには pyenv global
を使用します。例えば先ほど作成した test-3.8
を使用する場合は以下のようになります。
$ pyenv global test-3.8
ローカル
カレントディレクトリで、特定の仮想環境を指定する場合には pyenv local
を使用します。例えば先ほど作成した test-3.8
を使用する場合は以下のようになります。
$ pyenv local test-3.8
このコマンドを実行すると、ディレクトリに .python-version
というファイルが追加され、そこに、指定した仮想環境が書き込まれます。
また、pyenv activate <name>
を使用することで、仮想環境を一時的に起動することもできます。
仮想環境の確認
現在作成されている仮想環境の一覧を取得するには pyenv versions
が使用できます。また、一覧ではなく、現在の環境で適用されているものを知りたい場合には pyenv version
で確認できます。
おわりに
ここで紹介した他に必要そうなコマンドが出てきたら、追記していきます。