Conoha WingにPythonをinstallする
conoha wingのPythonのバージョンが古いため、自前で更新した際の作業メモ
conohaに限らず一般にレンタルサーバーではsudo
が使えないため、ソースコードからビルドする形でinstallしています。
勝手ながら今回の作業は https://www.nextdoorwith.info/se/how-to-install-latest-python-on-conoha-wing/ を参考にさせていただきました。感謝です。
libffiのビルド
libffi(Foreign Function Interface Library)は、C言語で書かれたライブラリや関数を 動的に呼び出す ための共通インターフェースを提供するライブラリです。
Python の一部モジュール(特に ctypes や cffi)が C ライブラリとやりとりする際に libffi を内部で使用しているため、事前にビルドしておく必要があります。
cd ~/
mkdir workspace
cd workspace
wget https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz
tar xvfz libffi-3.4.4.tar.gz
cd libffi-3.4.4
./configure --prefix=$HOME/local
make
make install
opensslのビルド
conoha wingsに入っているOpenSSLのバージョンがPythonが要求しているものよりも古いため、こちらもビルドしておきます
cd ~/workspace
wget --no-check-certificate https://www.openssl.org/source/openssl-3.2.0.tar.gz
tar xvfz openssl-3.2.0.tar.gz
cd openssl-3.2.0
./Configure --prefix=$HOME/local
make
make install
適当な作業用ディレクトリを作成し、pythonのソースコードを持ってくる
公式サイトのDownloads
からpythonのビルド用ソースコードを持ってきます
# ダウンロード
wget https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tar.xz
# 解凍
tar -xf Python-3.13.0.tar.xz
ビルド
ビルド時に事前にinstallしたライブラリを参照するようパスを指定します。
cd Python-3.13.0
./configure --prefix=$HOME/local LDFLAGS="-L $HOME/local/lib64" CPPFLAGS="-I $HOME/local/include"
make
make install
パスの設定
デフォルトで設定を加える場合はbashrcなどに追記を行ってください。
export PATH="~/Python-3.13.0:$PATH"
export PYTHONPATH=~/Python-3.13.0/Lib
export PYTHONHOME=~/Python-3.13.0
# これを忘れると import sslで _sslが見つけられずエラーになります!
export LD_LIBRARY_PATH=~/local/lib64
コメント