apache で python を利用するには wsgi_module のインストールが必要。
環境
almalinux9
apache
$ pip install mod_wsgi
エラーが出たので必要なものをインストール
httpd-devel をインストール
sudo dnf install httpd-devel
(Ubuntu の場合 apache2-dev らしい)
python3-devel をインストール
sudo dnf install python3-devel
再度インストール
$ pip install mod_wsgi
Defaulting to user installation because normal site-packages is not writeable
Collecting mod_wsgi
Using cached mod_wsgi-4.9.4.tar.gz (497 kB)
Using legacy 'setup.py install' for mod-wsgi, since package 'wheel' is not installed.
Installing collected packages: mod-wsgi
WARNING: Value for scheme.platlib does not match. Please report this to https://github.com/pypa/pip/issues/10151
distutils: /home/ユーザー名/.local/lib/python3.9/site-packages
sysconfig: /home/ユーザー名/.local/lib64/python3.9/site-packages
WARNING: Additional context:
user = True
home = None
root = None
prefix = None
Running setup.py install for mod-wsgi … done
Successfully installed mod-wsgi-4.9.4
pipでインストールしたときの実際のインストール先とファイル名。
/home/ユーザー名/.local/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so
httpd.conf ファイルに記述
LoadModule wsgi_module /home/ユーザー名/.local/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so
httpdを再起動
読み込みできていることを確認
httpd -M | grep wsgi