django3 没有名为 'encodings' 的模块

No module named 'encodings' with django3

已经是 运行 CentOS7 的 django 程序了。
我想把centos7搬成centos8.

我正在尝试 CentOS8。这是 wsgi 设置。

# dnf -y install python3-mod_wsgi
# vi /etc/httpd/conf.d/python3_wsgi.conf

这是新文件。写入新文件。

WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py
def application(environ, start_response):
    status = '200 OK'
    html = '<html>\n' \
           '<body>\n' \
           '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
           'WSGI TEST PAGE\n' \
           '</div>\n' \
           '</body>\n' \
           '</html>\n'.encode("utf-8")
    response_header = [('Content-type','text/html')]
    start_response(status,response_header)
    return [html]
# systemctl restart httpd

url 输入到 chrome http://153.127.13.226/test_wsgi.
好的!有用!与 wsgi!

但是用 venv 创建 django 项目然后就不行了。

url 输入到 chrome http://153.127.13.226/test_wsgi.
chrome 是……哦不! 503!

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

venv 目录是...

# python -c 'import sys; print(sys.prefix)'
  /home/op/venv

django 项目是...

# tree /var/www/html
/var/www/html
├ index.html
├ test_wsgi.py
└  testproject
    ├ manage.py
    └  testproject
        ├ __init__.py
        ├ asgi.py
        ├ settings.py
        ├ urls.py
        └  wsgi.py
WSGIDaemonProcess test_app python-path=/var/www/html/testproject python-home=/home/op/venv
WSGIProcessGroup test_app
WSGIScriptAlias /test_wsgi /var/www/html/testproject/testproject/wsgi.py
<Directory /var/www/html/testproject>
    Require all granted
</Directory>



错误日志……好像没完没了

# tail -f /var/log/httpd/error_log
Current thread 0x00007f65e9c55900 (most recent call first):
[Mon Mar 23 21:13:57.702501 2020] [core:notice] [pid 26583:tid 140075690449152] AH00052: child pid 7780 exit signal Aborted (6)
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

我已经在 stack over flow 上搜索了,但还没有解决。
我认为它有点多,但我的堆栈溢出了。

好的!我解决了!
但我做了很多次 OS 重置。
错误没有重现。

可能是 'SELinux'
现在,我不知道是什么原因,所以我将介绍最终设置内容和总结过程的url(对不起,日语)

django 项目名称:mysite

LoadModule wsgi_module /var/www/html/venv/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
WSGIScriptAlias / /var/www/html/mysite/mysite/wsgi.py
WSGIDaemonProcess wsgi_app python-home=/var/www/html/venv python-path=/var/www/html/mysite
WSGIProcessGroup wsgi_app
WSGISocketPrefix /var/run/wsgi

进程:https://qiita.com/YoshitakaOkada/items/a75f664846c8c8bbb1e1#%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF