Conoha WingにPythonをinstallする

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

コメント

タイトルとURLをコピーしました