0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pyenv+venvでAmazon Linux2にPython仮想環境を構築する

Posted at

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
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?