pyenv インストール手順
pyenvとは
- pyenvは、Pythonのバージョン管理ツールです。
- pyenvを利用するとPythonの利用バージョンを簡単に切り替え実施、ディレクトリ毎にPythonの利用バージョンを指定、することができます。
pyenvをインストールする
- ここではOS別にpyenvのインストール方法について解説します。
- Amazon Linux
動作確認環境
- Amazon Linux 2
- GNU bash, version 4.2.46(2)-release (x86_64-koji-linux-gnu)
- pyenv 2.3.31-1-g63c471d0
- git version 2.40.1
手順内容
-
本手順では「Git」を利用します。Gitが未インストールであればインストールして初期設定を完了させておいてください。
-
まず下記のとおりGitHubから対象資材を
~/.pyenv
ディレクトリにcloneします。pyenv資材cloneコマンドgit clone https://github.com/yyuu/pyenv.git ~/.pyenv
実行結果例Cloning into '/root/.pyenv'... remote: Enumerating objects: 23598, done. remote: Counting objects: 100% (2109/2109), done. remote: Compressing objects: 100% (272/272), done. remote: Total 23598 (delta 1909), reused 1940 (delta 1815), pack-reused 21489 Receiving objects: 100% (23598/23598), 4.71 MiB | 5.90 MiB/s, done. Resolving deltas: 100% (16023/16023), done.
-
つづいてpyenvが参照する環境変数を設定します。設定は以下のコマンドを実行します。
Note- ここでは
Bash
シェルを利用している前提の内容になっています。別のシェルを利用している場合は~/.bashrc
部分をシェルに応じたファイルパスに変更してください。 ~/.bashrc
を書き換える前にバックアップをしています。
pyenv環境変数設定cp -p .bashrc .bashrc.org echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcsource ~/.bashrccat ~/.bashrc
実行結果例(.bashrcの中身)# .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init -)"
- ここでは
-
以下のコマンドでpyenvが正しく導入されたかを確認します。
pyenvバージョン確認pyenv -v
実行結果例pyenv 2.3.31-1-g63c471d0
-
以上でpyenvはインストールされましたが、実際にpyenvからPythonをインストールする際、必要なパッケージを予め導入しておく必要があります。
必要なパッケージは以下のページで確認可能です。Home · pyenv/pyenv WikiSimple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.docs.docker.com -
AmazonLinuxの場合は以下のパッケージをインストールします。
必要パッケージインストールyum install -y gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl11-devel tk-devel libffi-devel xz-devel
実行結果(抜粋)Installed: bzip2-devel.x86_64 0:1.0.6-13.amzn2.0.3 gcc.x86_64 0:7.3.1-17.amzn2 libffi-devel.x86_64 0:3.0.13-18.amzn2.0.2 openssl11-devel.x86_64 1:1.1.1g-12.amzn2.0.18 patch.x86_64 0:2.7.1-12.amzn2.0.2 readline-devel.x86_64 0:6.2-10.amzn2.0.2 sqlite-devel.x86_64 0:3.7.17-8.amzn2.1.2 tk-devel.x86_64 1:8.5.13-6.amzn2.0.2 xz-devel.x86_64 0:5.2.2-1.amzn2.0.3 zlib-devel.x86_64 0:1.2.7-19.amzn2.0.3 Dependency Installed: cpp.x86_64 0:7.3.1-17.amzn2 dejavu-fonts-common.noarch 0:2.33-6.amzn2 dejavu-sans-fonts.noarch 0:2.33-6.amzn2 expat-devel.x86_64 0:2.1.0-15.amzn2.0.3 fontconfig.x86_64 0:2.13.0-4.3.amzn2 fontconfig-devel.x86_64 0:2.13.0-4.3.amzn2 fontpackages-filesystem.noarch 0:1.44-8.amzn2 freetype-devel.x86_64 0:2.8-14.amzn2.1.1 glibc-devel.x86_64 0:2.26-63.amzn2.0.1 glibc-headers.x86_64 0:2.26-63.amzn2.0.1 kernel-headers.x86_64 0:4.14.327-246.539.amzn2 keyutils-libs-devel.x86_64 0:1.5.8-3.amzn2.0.2 krb5-devel.x86_64 0:1.15.1-55.amzn2.2.6 libX11.x86_64 0:1.6.7-3.amzn2.0.4 libX11-common.noarch 0:1.6.7-3.amzn2.0.4 libX11-devel.x86_64 0:1.6.7-3.amzn2.0.4 libXau.x86_64 0:1.0.8-2.1.amzn2.0.2 libXau-devel.x86_64 0:1.0.8-2.1.amzn2.0.2 libXft.x86_64 0:2.3.2-2.amzn2.0.2 libXft-devel.x86_64 0:2.3.2-2.amzn2.0.2 libXrender.x86_64 0:0.9.10-1.amzn2.0.2 libXrender-devel.x86_64 0:0.9.10-1.amzn2.0.2 libatomic.x86_64 0:7.3.1-17.amzn2 libcilkrts.x86_64 0:7.3.1-17.amzn2 libcom_err-devel.x86_64 0:1.42.9-19.amzn2.0.1 libitm.x86_64 0:7.3.1-17.amzn2 libkadm5.x86_64 0:1.15.1-55.amzn2.2.6 libmpc.x86_64 0:1.0.1-3.amzn2.0.2 libmpx.x86_64 0:7.3.1-17.amzn2 libpng-devel.x86_64 2:1.5.13-8.amzn2.0.5 libquadmath.x86_64 0:7.3.1-17.amzn2 libsanitizer.x86_64 0:7.3.1-17.amzn2 libselinux-devel.x86_64 0:2.5-12.amzn2.0.2 libsepol-devel.x86_64 0:2.5-10.amzn2.0.1 libuuid-devel.x86_64 0:2.30.2-2.amzn2.0.11 libverto-devel.x86_64 0:0.2.5-4.amzn2.0.2 libxcb.x86_64 0:1.12-1.amzn2.0.2 libxcb-devel.x86_64 0:1.12-1.amzn2.0.2 mpfr.x86_64 0:3.1.1-4.amzn2.0.2 ncurses-c++-libs.x86_64 0:6.0-8.20170212.amzn2.1.5 ncurses-devel.x86_64 0:6.0-8.20170212.amzn2.1.5 openssl11-libs.x86_64 1:1.1.1g-12.amzn2.0.18 openssl11-pkcs11.x86_64 0:0.4.10-6.amzn2.0.1 pcre-devel.x86_64 0:8.32-17.amzn2.0.3 tcl.x86_64 1:8.5.13-8.amzn2.0.2 tcl-devel.x86_64 1:8.5.13-8.amzn2.0.2 tk.x86_64 1:8.5.13-6.amzn2.0.2 xorg-x11-proto-devel.noarch 0:2018.4-1.amzn2.0.2 Dependency Updated: expat.x86_64 0:2.1.0-15.amzn2.0.3 glibc.x86_64 0:2.26-63.amzn2.0.1 glibc-all-langpacks.x86_64 0:2.26-63.amzn2.0.1 glibc-common.x86_64 0:2.26-63.amzn2.0.1 glibc-locale-source.x86_64 0:2.26-63.amzn2.0.1 glibc-minimal-langpack.x86_64 0:2.26-63.amzn2.0.1 krb5-libs.x86_64 0:1.15.1-55.amzn2.2.6 libcrypt.x86_64 0:2.26-63.amzn2.0.1 libgcc.x86_64 0:7.3.1-17.amzn2 libgomp.x86_64 0:7.3.1-17.amzn2 libpng.x86_64 2:1.5.13-8.amzn2.0.5 libsepol.x86_64 0:2.5-10.amzn2.0.1 ncurses.x86_64 0:6.0-8.20170212.amzn2.1.5 ncurses-base.noarch 0:6.0-8.20170212.amzn2.1.5 ncurses-libs.x86_64 0:6.0-8.20170212.amzn2.1.5 pcre.x86_64 0:8.32-17.amzn2.0.3 zlib.x86_64 0:1.2.7-19.amzn2.0.3 Complete!
-
以上がpyenvのインストール手順です。
pyenvをアンインストールする
- ここではOS別にpyenvのアンインストール方法について解説します。
- Amazon Linux
動作確認環境
- Amazon Linux 2
- GNU bash, version 4.2.46(2)-release (x86_64-koji-linux-gnu)
- pyenv 2.3.31-1-g63c471d0
- git version 2.40.1
手順内容
-
pyenvをアンインストールする場合は、インストール時にGitHubからcloneしてきた資材を削除します。
具体的には以下のコマンドを実行します。pyenv資材削除rm -rf $(pyenv root)
-
またインストール時に
~/.bashrc
に追記した部分を削除します。具体的には以下の3行を削除します。.bashrcの 削除部分export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
-
以上がpyenvのアンインストール手順です。
pyenvで利用可能コマンド
- ここではpyenvで利用可能なコマンドについて解説します。
Python利用可能バージョン確認
-
pyenvでインストール可能なPythonバージョンを一覧で確認する場合は以下のコマンドを利用します。
コマンド書式pyenv install --list
コマンド実行例pyenv install --list
実行結果例Available versions: 2.1.3 2.2.3 2.3.7 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 (以降省略)
Pythonインストール済バージョン確認
-
pyenvでインストールしたPythonの一覧で確認する場合は以下のコマンドを利 用します。
コマンド書式pyenv versions
コマンド実行例pyenv versions
実行結果例* system (set by /root/.pyenv/version) 3.10.13 3.11.6
Note上記例では
Python 3.10.13
とPython 3.11.6
がインストールされていることが確認できます。
また現在利用中のバージョンはシステム(pyenv外)にインストールされているバージョンであることが確認できます。
(アスタリスクがついているバージョンが現在利用中のバージョンです)
Pythonインストール
-
pyenvでPythonをインストールする場合は以下のコマンドを利用します。
コマンド書式pyenv install [バージョン名]
コマンド実行例pyenv install 3.11.6
実行結果例Downloading Python-3.11.6.tar.xz... -> https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tar.xz Installing Python-3.11.6... Installed Python-3.11.6 to /root/.pyenv/versions/3.11.6
Pythonアンインストール
-
pyenvでPythonをア ンインストールする場合は以下のコマンドを利用します。
コマンド書式pyenv uninstall [バージョン名]
コマンド実行例pyenv uninstall 3.11.6
実行結果例[root@hostname ~]# pyenv uninstall 3.11.6 pyenv: remove /root/.pyenv/versions/3.11.6? [y|N] y pyenv: 3.11.6 uninstalled
Pythonバージョン切替(グローバル)
-
pyenvで利用するPythonバージョンを切り替える場合は以下のコマンドを利用します。
コマンド書式pyenv global [バージョン名]
コマンド実行例// インストール済バージョン確認 [username@hostname ~]# pyenv versions system * 3.10.13 (set by /username/.pyenv/version) 3.11.6 // 利用中バージョン確認(切替前) [username@hostname ~]# python --version Python 3.10.13 [username@hostname ~]# pyenv global 3.11.6 // 利用中バージョン確認(切替後) [username@hostname ~]# python --version Python 3.11.6
Pythonバージョン切替(ローカル)
-
pyenvでカレントディレクトリでのみで利用するPythonバージョンを切り替える場合は以下のコマンドを利用します。
コマンド書式pyenv local [バージョン名]
コマンド実行例// インストール済バージョン確認 [username@hostname temp]# pyenv versions system * 3.10.13 (set by /username/.pyenv/version) 3.11.6 // 利用中バージョン確認(切替前) [username@hostname temp]# python --version Python 3.10.13 // Pythonバージョン切り替え(カレントディレクトリのみ) [username@hostname temp]# pyenv local 3.11.6 // 利用中バージョン確認(切替後) [username@hostname temp]# python --version Python 3.11.6 // 利用中バージョン確認(カレントディレクトリ変更後) [username@hostname ~]# cd ..; python --version Python 3.10.13
コメント