pyenvとvenvを使ってPythonの仮想環境を構築してみた時の記録です。
・pyenvで色々なバージョンのPythonを使い分ける
・venvでAnsibleバージョンX.X.X用の仮想環境を使い分ける
を目的として、環境構築してみました。
前提条件
- 利用環境:Amazon Linux2
pyenvとは
pyenvとは、複数のバージョンのPythonを切り替えて使うことが出来るツールです。
venvとは
venvとは、複数の仮想環境を構築し、切り替えて使うことが出来るツールです。
環境構築手順
pyenvインストール
※pyenvのGitHubに記載の手順に沿ってインストールします。
※環境変数の設定については以下を参照。
https://github.com/pyenv/pyenv
※依存関係パッケージは以下を参照。
https://github.com/pyenv/pyenv/wiki#suggested-build-environment
# Gitインストール
yum install git
# インストーラ実行
curl -fsSL https://pyenv.run | bash
# 環境変数の設定
# ~/.bashrcに設定する場合は以下の通り
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
# シェルの再読み込み
source ~/.bashrc
# 依存関係パッケージのインストール
yum install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl11-devel tk-devel libffi-devel xz-devel
Pythonインストール(pyenv)
# インストール可能なバージョンの確認
pyenv install -l
# Pythonインストール
pyenv install 3.10.18
# Pythonインストール(Prefix使用)
pyenv install 3.10
Pythonのバージョン切替(pyenv)
# 現在のシェルのセッション内でのPythonバージョンを指定する
pyenv shell 3.10.18
# ユーザーアカウント全体でのPythonバージョンを指定する
pyenv global 3.10.18
# ユーザーアカウント全体でのPythonバージョンを指定する(Prefix使用)
pyenv global 3.10
Python仮想環境の作成(venv)
# venvで仮想環境を作成する
python -m venv /path/to/new/virtual/environment
# 例)ユーザのホームディレクトリ配下に作成する例
python -m venv ~/venvs/ansible_216
Python仮想環境の有効化・無効化(venv)
# 仮想環境を有効化する
source /path/to/new/virtual/environment
# 仮想環境を無効化する
deactivate