- Offline環境にあるCentOS7のシステムpythonに対して、所望のパッケージを入れることを目的とします。
- はじめにOnline環境において所望のpython関連パッケージをダウンロードしますが、AWSのCentOS7の最新イメージ上で行うこととします。
Pythonの必要パッケージのダウンロード(オンライン環境)
事前準備
あらかじめインストールされていないrpmパッケージをyumでインストールします。
sudo yum install -y git
sudo yum install -y zlib-devel
sudo yum install -y openssl-devel
sudo yum install -y sqlite-devel.x86_64
sudo yum install -y xz-devel
sudo yum install -y tree
以下の作業はオンライン環境にあるCentOS7の環境で実施してください。
pyenvのインストール
pyenvのインストール
pyenvのgithubに従って、pyenvをインストールします。Basic GitHub Checkoutのセクションから進めてください。
pyenvの有効化
terminalを新しくするか、以下のコマンドでインストールしたpyenvを有効化してください。
source .bash_profile
python 3.6.8 のインストール
今回はOffline環境のCentOS7の system pythonのバージョンに一致するために、3.6.8
をインストールしてみます。
インストール可能バージョンの確認
インストール可能なバージョンとして、3.6.8
があることを確認します。
pyenv install --list
3.6.8 のインストール
3.6.8
をインストールします。
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 /home/centos/.pyenv/versions/3.6.8
pyenv でインストールした 3.6.8 への切り替え
system pythonから 3.6.8
への切り替え
pyenv global 3.6.8
正しく切り替わったことの確認
pyenv versions
system
* 3.6.8 (set by /home/centos/.pyenv/version)
正しくインストールされていることを確認します。
python -VV
Python 3.6.8 (default, Jan 4 2022, 09:23:47)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
必要パッケージのインストール
pip
のupdate
pip install --upgrade pip
現状のインストールされたパッケージの確認
pip freeze
(返り値なし)
パッケージのインストール
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
パッケージのインストール (オフライン環境)
以下の作業はオフライン環境にあるCentOS7の環境で実施してください。
テストとして先程のオンライン環境でOffline環境での作業内容を確認する場合は以下を実行し、クリーンなpython環境に戻してテストすると良いでしょう。
pyenv uninstall 3.6.8
pyenv install 3.6.8
必要ファイルの持ち込み
上記で作成した以下のファイル/ディレクトリを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