インターネットアクセスなしでRHEL 7サーバーにインストールされるDjangoプロジェクトがあります。 python3ソースからpipおよび設定ツールまで、すべてをローカルに装備する必要があります。私のシステムでPythonを実行するために必要なすべてのパッケージに多数のパッケージを追加しましたが、それでも常にエラーが発生します。私はinstall.sh
これを達成するためにこのスクリプトを使用しています
#!/bin/bash
cd ./needed_pkgs/
rpm -i build-essentials-2019-3pclos2019.noarch.rpm zlib-1.2.7-18.el7.x86_64.rpm gcc-c++-4.8.5-39.el7.x86_64.rpm gcc-4.8.5-39.el7.x86_64.rpm cpp-4.8.5-39.el7.x86_64.rpm glibc-devel-2.17-292.el7.x86_64.rpm glibc-headers-2.17-292.el7.x86_64.rpm kernel-headers-3.10.0-1062.el7.x86_64.rpm
command -v python3 >/dev/null 2>&1 || {
echo >&2 "I require python3 but it's not installed, installing it .";
cd Python-3.7.5
make clean
./configure
make
sudo make install
}
cd ../..
#virtualenv --never-download venv
#source venv/bin/activate
for entry in "./pkgs"/*; do
pip install "$entry"
done
数日間の努力の終わりにすべてが機能するのに近づいたとき、pipインストールの最後の段階で次の奇妙なエラーが発生しました。
結局のところ、Pythonのインストールに失敗しました。
答え1
yumで利用可能な特定のモジュールバイナリを見つけてオフラインサーバーにコピーする必要があるため、デフォルトでコンピュータにバイナリモジュールをダウンロードしてから、VPNから指定された場所にディレクトリをコピーします。
1つの解決策は、次を使用することです。yumdownloader --resolve <package name>
インストールの順序はyumによって決まります。
yum install ./*rpm
これで、すべての依存関係を含むダウンロードしたパッケージのフォルダから上記のコマンドを実行する必要があり、必要な操作が実行されます。