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
で自分のホームディレクトリがわかります。
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です。