7
1

More than 1 year has passed since last update.

MACでpyenvとvenvを使ってPythonの仮想環境を構築するメモ

Last updated at Posted at 2021-10-03

以前MACでpyenvをインストールしたときのメモ。もし間違っていたらすみません。

pyenv とは

pyenv は、Python バージョン管理ツールです。
Python の複数のバージョンを簡単に切り替えることができます。

今回は、Homebrewを使用してpyenvをインストールします

Homebrewは他のアプリケーションをインストールする際にインストールしていることもあるのでbrew -vコマンドを実行してインストール済かどうか確認できます。

$ brew -v
Homebrew 3.2.14

インストールしていなければ、Homebrewをインストールします。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールが完了したら、もう一度、brew -vのコマンドを実行し、インストールできたかを確認します。

pyenvのインストール

$ brew install pyenv

以下のコマンドを実行してインストールされたかどうか確認します。

$ pyenv --version
pyenv 1.2.16

デフォルトのシェルがzshの場合、こちらのコマンドを実行します
どのSHELLかを使用しているかは、echo $SHELL のコマンドで確認できます。
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

以下のコマンドで、.zshrcに設定した内容を反映させます。

$ exec zsh

bashの場合は以下のコマンドになります

$ source ~/.bash_profile

PATHに./pyenv/shimsが追加されていることを確認してください。pyenvではこのshimsへのパスが切り替えの重要な役割を果たします。

$ echo $PATH /Users/xxxxx/.pyenv/shims:/Users/xxxxx/.pyenv/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin

サポートしてる Python のバージョンの一覧を見る

$ pyenv install --list
Available versions:
  2.1.3

指定のバージョンをインストールする

例として、3.7.3をインストールします。

$ pyenv install 3.7.3

環境に設定できるバージョンの一覧を確認する

$ pyenv versions
* system (set by /Users/xxxxxx/.python-version)
  3.7.3

環境の設定を行う

バージョンの切り替えをしてみます。localの場合は現在のディレクトリにしたpythonを実行します。
globalの場合は全体に反映されます。

$ cd <作成したプロジェクトフォルダ>
$ pyenv local 3.7.3
$ pyenv versions
$ pyenv global 3.7.3

python のバージョンが環境に反映されなかったら

pyenv initコマンドによってpythonの実行パスが差し替えられます

$ eval "$(pyenv init -)"
$ python -V
Python 3.7.3

仮想環境の作成

$ python -m venv <仮想環境名>

作成した仮想環境をアクティベートする

作成した仮想環境にてpipを使いインストールができます。

$ source <仮想環境名>/bin/activate

ディアクティベートする場合は以下のコマンドを実行する

$ deactivate
7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1