KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

RockyLinux8でpyenvを構築する手順

登録日 :2025/06/07 16:54
カテゴリ :Python基礎

Rocky Linuxでpyenvを構築する標準的な手順は以下の通りです。

Pyenvのインストール

1. 必要なパッケージのインストール

Pythonビルドやpyenvの動作に必要な開発ツールやライブラリをインストールします。

sudo dnf update
sudo dnf install -y git gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel

2. pyenvのインストール

一般ユーザーのホームディレクトリにインストールする場合

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

システム全体(例:/usr/local/pyenv)にインストールする場合

sudo git clone https://github.com/pyenv/pyenv.git /usr/local/pyenv

3. 環境変数の設定

一般ユーザーの場合(~/.bashrc などに追記)

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

システム全体の場合(/etc/profile.d/pyenv.sh などに記載)

echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee /etc/profile.d/pyenv.sh
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' | sudo tee -a /etc/profile.d/pyenv.sh
echo 'eval "$(pyenv init - --no-rehash)"' | sudo tee -a /etc/profile.d/pyenv.sh

設定後、新しいシェルを起動するか、source ~/.bashrc(またはsource /etc/profile.d/pyenv.sh)で反映させます。

4. pyenvの動作確認

pyenv --version

バージョンが表示されればインストール成功です。

5. Pythonのインストール

インストール可能なバージョン一覧を確認:

pyenv install -l

例:Python 3.10と3.12をインストール

pyenv install 3.10.14
pyenv install 3.12.2

6. バージョンの切り替え

グローバル(全体)で使うPythonバージョンを設定:

pyenv global 3.10.14

プロジェクトごとにバージョンを指定したい場合は、ディレクトリ内で

pyenv local 3.12.2

7. (任意)pyenv-virtualenvの利用

仮想環境を使いたい場合は、pyenv-virtualenvプラグインもインストールできます。

これでRocky Linux上にpyenv環境が構築でき、複数バージョンのPythonを柔軟に切り替えて利用できます。


Pyenvのからpythonのバージョンインストールおよび指定

pyenvを使ってpythonをインストール、活用する

インストール可能なバージョンとして、3.6.8 があることを確認します。

pyenv install --list

3.6.8 のインストール
3.6.8 をインストールします。

pyenv install 3.6.8
[root@pytest ~]# pyenv install 3.6.8
Downloading Python-3.6.8.tar.xz...
-> https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
Installing Python-3.6.8...
Installed Python-3.6.8 to /usr/local/pyenv/versions/3.6.8
[root@pytest ~]#

pyenv でインストールした 3.6.8 への切り替え
system pythonから 3.6.8 への切り替え

pyenv versions

[root@pytest ~]# pyenv versions
* system (set by /usr/local/pyenv/version)
  3.6.8
[root@pytest ~]#
pyenv global 3.6.8

正しく切り替わったことの確認

pyenv versions

[root@pytest ~]# pyenv versions
  system
* 3.6.8 (set by /usr/local/pyenv/version)
[root@pytest ~]#

正しくインストールされていることを確認します。

python -VV

[root@pytest ~]# python -VV
Python 3.6.8 (default, Jun  7 2025, 18:45:39)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-26)]
[root@pytest ~]#

オンライン環境で、pythonのライブラリを入手する

まずオンライン環境で、上記の手順によって必要なpython環境を構築する。

オンライン環境で、pythonの必要なライブラリを入手する

必要パッケージのインストール
pip のupdate

pip install --upgrade pip
[root@pytest ~]# pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
    100% |████████████████████████████████| 1.7MB 858kB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-21.3.1
[root@pytest ~]#

現状のインストールされたパッケージの確認

pip freeze
(返り値なし)
[root@pytest ~]# pip freeze
[root@pytest ~]#

パッケージのインストール

pip install pandas
pip install pip-licenses
pip install pipdeptree
pip install seaborn
pip install scikit-learn
pip install jupyterlab

インストールパッケージ一覧のダウンロード
インストールされているパッケージの一覧作成

pip freeze > requirements.txt
cat requirements.txt

パッケージのダウンロード

mkdir -p src
pip download --dest=src -r requirements.txt

get-pip.pyのダウンロード
これは、offline環境にpipが使えない場合、必要となります。

curl https://bootstrap.pypa.io/get-pip.py -o src/get-pip.py

オフライン環境にpythonライブラリをインストールする

オンライン環境で、入手したパッケージ、requirement.txt, pipコードをオフライン環境にアップロードして、オフライン環境にpython環境を構築する

上記で作成した以下のファイル/ディレクトリをOff-Line環境に持ち込みます。

requirements.txt
src
get-pip.py

インストール
ファイルPATHを定義
PATHを定義

SRC="src/"
REQUIREMENTS="./requirements.txt"
PIP="src/get-pip.py"
PATHの確認
ls -l ${SRC} | grep -e ".whl" -e ".gz"
ls -l ${PIP}
ls -l ${REQUIREMENTS}

pipのインストール or Update

python3 ${PIP} --no-index --find-links=${SRC}

パッケージのインストール
-m オプションに関しては "Pythonの「-m」オプションについて"を参照してください。

python3 -m pip install --no-index --find-links=${SRC} -r ${REQUIREMENTS}

インストールパッケージの確認

pip freeze

補足:
Linuxマシンに導入したいpythonの拡張ライブラリは、オンライン環境のLinuxから取得するしかない。(Windowsでpipをしても、OSの違いからそのまま使用できない可能性が高いため)
コマンドまとめ

# オンラインLinux互換環境で
pip download -d ./packages pandas

# オフラインLinux環境で
pip install --no-index --find-links=./packages pandas