python

pyenvインストール

手動でのpyenvインストール手順

pythonの複数バージョンを利用したい場合はもちろん、Pythonを単一バージョンしかインストールしない場合も私はpyenvを入れ、pyenvを通してpythonのインストールする事をお勧めしたいです。(rpm等で、バイナリをお気楽にインストールするほうが短時間ではすみますが、個人的にはソースからコンパイルしたほうがスッキリするためです。Pythonのバージョンアップも簡単にできますしね)

1. 依存関係のインストール

まず、pyenvを正常に動作させるために必要な依存関係(一連の開発に必要なパッケージグループ)をまとめてインストールします。まぁ中には不要なものもあるかもですが私はこれまで、これでやってきています、、、
たまに「エラー: repo ‘pgdg12’ のメタデータのダウンロードに失敗しました : repomd.xml GPG signature verification error: Bad GPG signature」、、というようなエラーが出ることもあります。当然この根本原因を対策すべきですが、 急いでいる場合 「–disablerepo=pgdg12」というようなオプションをつけてエラーを無視する方法もあります。

sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel bzip2-devel libffi-devel

openssl-devel: OpenSSL ライブラリの開発版
bzip2-devel:Bzip2 圧縮ライブラリの開発版。
libffi-devel:(Foreign Function Interface)ライブラリの開発版。

2. pyenvリポジトリのクローン

次に、pyenvとpyenv-virtualenvのリポジトリをGitを使ってクローンします。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

3. シェルの設定

pyenvを使えるようにするために、シェルの設定ファイル(通常は ~/.bashrc~/.bash_profile)に以下の行を追加します。

4. 設定を反映

設定を反映させるために、シェルを再起動するか、以下のコマンドを実行します。

source ~/.bashrc

または

# pyenvの環境設定
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~/.bash_profile

5. pyenvの動作確認

pyenvが正しくインストールされているかを確認するために、次のコマンドを実行します。

pyenv --version
実行例
[sooni@vm102 ~]$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Cloning into '/home/sooni/.pyenv'...
remote: Enumerating objects: 25090, done.
remote: Counting objects: 100% (2281/2281), done.
remote: Compressing objects: 100% (407/407), done.
remote: Total 25090 (delta 1874), reused 2199 (delta 1836), pack-reused 22809 (from 1)
Receiving objects: 100% (25090/25090), 5.15 MiB | 3.37 MiB/s, done.
Resolving deltas: 100% (16839/16839), done.
[sooni@vm102 ~]$

[sooni@vm102 ~]$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/home/sooni/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 2335, done.
remote: Counting objects: 100% (264/264), done.
remote: Compressing objects: 100% (154/154), done.
remote: Total 2335 (delta 159), reused 178 (delta 101), pack-reused 2071 (from 1)
Receiving objects: 100% (2335/2335), 665.89 KiB | 1.64 MiB/s, done.
Resolving deltas: 100% (1579/1579), done.
[sooni@vm102 ~]$
[sooni@vm102 ~]$ pyenv --version
pyenv 2.4.13
[sooni@vm102 ~]$

pyenvをインストールする前にインストールされていたpythonを認識させる

[sooni@vm102 ~]$ python --version
Python 3.11.0
[sooni@vm102 ~]$ pyenv install --skip-existing 3.11.0

6. Pythonのインストール

あらかじめpyenvでインストール可能なバージョン一覧を確認します

pyenv install --list | grep -E '^\s*[2-3]\.[0-9]+'

pyenvを使ってPythonをインストールするには、以下のコマンドを実行します(例: Python 3.11.5をインストール)。

pyenv install 3.12.6
pyenv global 3.12.6 # これにより、デフォルトのPythonバージョンが設定されます
[sooni@vm102 ~]$ pyenv versions
* system (set by /home/sooni/.pyenv/version)
  3.11.0
  3.12.6
[sooni@vm102 ~]$ python --version
Python 3.11.0
[sooni@vm102 ~]$ pyenv global 3.12.6
[sooni@vm102 ~]$ python --version
Python 3.11.0
[sooni@vm102 ~]$ pyenv versions
  system
  3.11.0
* 3.12.6 (set by /home/sooni/.pyenv/version)
[sooni@vm102 ~]$ python --version
Python 3.11.0
-- pyenv globalでバージョンを変更しても.bashrcを再度実行しないと
-- pathは切り替わりません
[sooni@vm102 ~]$ source ~/.bashrc
[sooni@vm102 ~]$ python --version
Python 3.12.6
[sooni@vm102 ~]$

スポンサーリンク