|
|
mod_wsgi-express module-config > /etc/httpd/conf.d/wsgi.conf
- cd /var/www/Treemap
- source venv/bin/activate
- # 安装/升级 setuptools
- pip install --upgrade setuptools wheel
- # 验证安装
- python -c "from distutils import util; print('distutils OK')"
复制代码
distutils 有两个位置,需要都布置好:- $ python -c "import distutils; print(distutils.__file__)"
- /usr/lib64/python3.6/distutils/__init__.py
- $ python -c "import site; print(site.getsitepackages())"
- ['/var/www/Treemap/venv/lib64/python3.6/site-packages', '/var/www/Treemap/venv/lib/python3.6/site-packages']
复制代码
之后报 can not find module Django, Treemap, distutils 等等,原因找到了:
sudo cp /var/www/Treemap/venv/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so /etc/httpd/modules/mod_wsgi_python3.so
这里用3.6版本的覆盖了3.12版本的so,当然标准的程序是不能这么做的。应该自己配置好哪个so文件会被优先访问。毕竟在/etc/httpd/conf.d/wsgi.conf 中写明了:
LoadModule wsgi_module "/var/www/Treemap/venv/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/var/www/Treemap/venv"
继续排错请见 "wsgi.conf 导致的so文件访问顺序问题"。
|
|