LoginSignup
47
36

More than 3 years have passed since last update.

pyenvとvenvで仮想環境を構築する

Last updated at Posted at 2020-10-13

Pythonの環境を構築することがあったので備忘録としてまとめておきます。

使用環境

Mac Catalina 10.15.6

仮想環境の構築に使うもの

仮想環境を構築する上でよく使われるものは

  • pyenv
  • venv
  • virtualenv
  • pipenv
  • Anaconda
  • Docker

など様々ありますが、今回は手軽にできる pyenv と venv で構築したいと思います。
ではそれぞれのインストール方法です。

pyenv

pythonのバージョンを管理するツールです。
これひとつで Python 2系もPython 3系も同時に管理できる優れものです。

pyenv のインストール方法

1. Homebrew からインストール

ターミナル.
brew install pyenv

Homebrewをインストールしていない場合は、

ターミナル.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 

で実行してHomebrewをインストールできます。

2. pyenv 用の .profile を作成

pyenv 用に PATH を通します。
自分のホームディレクトリ直下に .zshrc を作成して以下のように記述します。
ちなみに

ターミナル.
cd 
pwd

で自分のホームディレクトリがわかります。

/Users/ユーザー名/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

ここまできたら一度ターミナルを閉じます。

もう一度立ち上げ、

ターミナル.
pyenv -help

でエラーが起きなければ pyenv のインストールは完了です。

python のインストール

1.Python の確認

現在pyenvによってインストール可能なPythonのバージョンを確認してみます。

ターミナル.
pyenv install --list

羅列したバージョンの中から自分に合うものを選びます。

2. インストール

ターミナル.
pyenv install [自分に合うバージョン]
例) pyenv install 3.8.5

3. 選択したPythonのバージョンをデフォルトに設定

正しくインストールされているか確認します。

ターミナル.
pyenv versions
  system
  3.8.5

このように先ほどインストールしたものが表示されていればOKです。
では、インストールしたバージョンをデフォルトに設定します。

ターミナル.
pyenv global [自分に合うバージョン]
例) python global 3.8.5

では確認します。

ターミナル.
pyenv versions
  system
* 3.8.5  (set by /Users/ユーザー名/.pyenv/version)

このようにセットされていればOKです。

一応Pythonのバージョンを確認しておきます。

ターミナル.
python -V
3.8.5

このように変わっていれば完璧です。

また蛇足かもしれませんが、このままだと Jupyter などで使用できない場合があるので、pip をアップデートすることをお勧めします。

ターミナル.
pip install --upgrade pip

venv (virtualenv)

venv と virtualenv はどちらも、 Python のモジュール・ライブラリをプロジェクト毎に管理することができるツールです。
ただし、Python 3系には venv が元々搭載されているのに対し、Python 2系は virtualenv をインストールする必要があります。
基本的な部分は変わらないので、今回はPython 3系に準じていきます。

1. virtualenv のインストール (python 2系のみ)

ターミナル.
pip install virtualenv

2. プロジェクトに移動

ターミナル.
cd path/to/プロジェクト

このように、仮想環境を適用したいプロジェクトの直下に作成するのが慣例のようです。

3. 仮想環境作成

ターミナル.
※ Python 2系
virtualenv [作成する仮想環境名]

※ Python 3系
python -m venv [作成する仮想環境名]

これで仮想環境が作成されました。
どうやら.venvで作成することが慣例のようです。

4. 仮想環境をアクティベートする

仮想環境は持っているだけでは意味がありません。ドラクエの武器と同じです。
アクティベートはドラクエでいう装備です。
プロジェクト直下で以下のコマンドを行います。

ターミナル.
source [仮想環境名]/bin/activate
もしくは
. [仮想環境名]/bin/activate

例) . .venv/bin/activate

もしWindowsで実施する場合

. .[仮想環境名]/Scripts/activate

でアクティベートしてください。
これでターミナルが

(仮想環境名): ~
例) (.venv): ~

ってなればアクティベートできています。

この状態で pip installすると全て venv に蓄積されるので、ローカル環境は汚染されずにすみます。

ちなみにディアクティベートは

ターミナル.
deactivate

でOKです。

47
36
1

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
47
36