Cython 最新版のインストール(ソースコードを使用)(Ubuntu 上)
Cython は,Python に似た構文で書いたソースコードを C コードに変換し,コンパイルして Python の拡張モジュールを作る処理系である。このページでは,GitHub の公式リポジトリからソースコードを取得し,ビルドしてインストールする手順を説明する。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
C/C++ コンパイラと Make とビルドツールのインストール
Cython はソースコードを C に変換し,それを C コンパイラでコンパイルする。そのため,C/C++ コンパイラ (GCC) や make が必要である。Ubuntu では,これらは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。
sudo apt update
sudo apt -y install build-essential pkg-config
Python 開発用パッケージのインストール
Python の拡張モジュールをビルドするには,Python のヘッダファイルを含む python3-dev が必要である。また,仮想環境の作成に python3-venv を使用する。インストールするには,端末で,次のコマンドを実行する。
sudo apt update
sudo apt -y install python3 python3-dev python3-venv python3-pip
python3 --version
Ubuntu に標準で含まれる Python は,Ubuntu 24.04 LTS では Python 3.12,Ubuntu 26.04 LTS では Python 3.14 である。python3 --version の表示で確認できる。
Git のインストール
ソースコードは Git リポジトリから取得する。インストールするには, 端末で,次のコマンドを実行する。
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git
Ubuntu パッケージ版 Cython の削除
Ubuntu パッケージ版の Cython(cython3)がインストールされている場合,コマンド名や参照されるモジュールが競合することがある。削除するには,端末で,次のコマンドを実行する。表示される削除対象の一覧を確認してから実行する。
sudo apt remove cython3
Cython 最新版のインストール
ソースコードの取得
端末で,次のコマンドを実行する。
cd /tmp
rm -rf cython
git clone https://github.com/cython/cython
cd cython
仮想環境の作成とインストール
Ubuntu 24.04 LTS 以降の Python は 外部管理環境 (externally-managed-environment) として設定されており,システムの Python に pip で直接インストールするとエラーになる。そのため,Python 仮想環境 (venv) を作り,その中にインストールする。
端末で,次のコマンドを実行する。
python3 -m venv $HOME/cython-venv
source $HOME/cython-venv/bin/activate
python -m pip install --upgrade pip setuptools wheel
cd /tmp/cython
python -m pip install .
Cython の公式のインストール手順(ソースコードのトップディレクトリにある INSTALL.txt)でも,ソースコードからのインストールに pip install . を使用する。python3 setup.py install は非推奨であり,新しい setuptools では動作しない。
仮想環境を使わずにシステム全体にインストールする場合は,次のコマンドを実行する。この場合,Ubuntu のパッケージ管理の対象外のファイルがシステムの Python に追加される。
cd /tmp/cython
sudo python3 -m pip install --break-system-packages .
インストールの確認
端末で,次のコマンドを実行する。バージョン番号が表示されればインストールは成功している。
source $HOME/cython-venv/bin/activate
cython --version
python -c "import Cython; print(Cython.__version__)"
動作確認
簡単な Cython のソースコードをコンパイルして動作を確認する。端末で,次のコマンドを実行する。
source $HOME/cython-venv/bin/activate
mkdir -p /tmp/cytest && cd /tmp/cytest
cat > hello.pyx <<'EOF'
def say_hello():
print("Hello from Cython")
EOF
cat > setup.py <<'EOF'
from setuptools import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("hello.pyx"))
EOF
python setup.py build_ext --inplace
python -c "import hello; hello.say_hello()"
Hello from Cython と表示されれば,C コードの生成とコンパイル,拡張モジュールの読み込みが正しく行われている。
仮想環境の終了
仮想環境から抜けるには,端末で,次のコマンドを実行する。
deactivate