Django mod wsgi使用pyenv virtual env无法识别Python主页
尝试在服务器上使用Apache2配置mod wsgi时出现以下错误。我已经按照虚拟环境中的文档安装并设置了mod wsgi,然后设置了apache2 site.conf,但无法让服务器响应。检查apache2/error.log我有一个很长的错误列表,如下所示。我不知道该去哪里或做什么,因为根据我所阅读的内容,配置看起来都像是应该做的Django mod wsgi使用pyenv virtual env无法识别Python主页,django,apache2,mod-wsgi,Django,Apache2,Mod Wsgi,尝试在服务器上使用Apache2配置mod wsgi时出现以下错误。我已经按照虚拟环境中的文档安装并设置了mod wsgi,然后设置了apache2 site.conf,但无法让服务器响应。检查apache2/error.log我有一个很长的错误列表,如下所示。我不知道该去哪里或做什么,因为根据我所阅读的内容,配置看起来都像是应该做的 Current thread 0x00007f1b39a8cbc0 (most recent call first): <no Python frame&g
Current thread 0x00007f1b39a8cbc0 (most recent call first):
<no Python frame>
Python path configuration:
PYTHONHOME = (not set)
PYTHONPATH = (not set)
program name = '/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
isolated = 0
environment = 1
user site = 1
import site = 1
sys._base_executable = '/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
sys.base_prefix = '/root/.pyenv/versions/3.8.8'
sys.base_exec_prefix = '/root/.pyenv/versions/3.8.8'
sys.executable = '/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
sys.prefix = '/root/.pyenv/versions/3.8.8'
sys.exec_prefix = '/root/.pyenv/versions/3.8.8'
sys.path = [
'/root/.pyenv/versions/3.8.8/lib/python38.zip',
'/root/.pyenv/versions/3.8.8/lib/python3.8',
'/root/.pyenv/versions/3.8.8/lib/lib-dynload',
]
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
当前线程0x00007f1b39a8cbc0(最新调用优先):
Python路径配置:
PYTHONHOME=(未设置)
PYTHONPATH=(未设置)
程序名='/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
隔离=0
环境=1
用户站点=1
导入站点=1
sys._base_executable='/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
sys.base_prefix='/root/.pyenv/versions/3.8.8'
sys.base_exec_prefix='/root/.pyenv/versions/3.8.8'
sys.executable='/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/bin/python'
sys.prefix='/root/.pyenv/versions/3.8.8'
sys.exec_prefix='/root/.pyenv/versions/3.8.8'
sys.path=[
“/root/.pyenv/versions/3.8.8/lib/python38.zip”,
“/root/.pyenv/versions/3.8.8/lib/python3.8”,
“/root/.pyenv/versions/3.8.8/lib/lib dynload”,
]
找不到与平台无关的库
找不到与平台相关的库
考虑将$PythONHOLD设置为[:]
致命的Python错误:init_fs_encoding:无法获取文件系统编码的Python编解码器
Python运行时状态:核心已初始化
ModuleNotFoundError:没有名为“encodings”的模块
我的站点配置是:
<VirtualHost *:80>
ServerAdmin webmaster@something.com
ServerName something.com
ServerAlias www.something.com
DocumentRoot /var/www/something
LoadModule wsgi_module "/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/lib/python3.8/site-packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so"
WSGIDaemonProcess something python-home=/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8 python-path=/var/www/something
WSGIProcessGroup something
WSGIScriptAlias / /var/www/something/core/wsgi.py
Alias /robots.txt /var/www/something/static/robots.txt
Alias /favicon.ico /var/www/something/static/favicon.ico
Alias /media/ /var/www/something/media/
Alias /static/ /var/www/something/static/
<Directory /var/www/something/static>
Require all granted
</Directory>
<Directory /var/www/something/media>
Require all granted
</Directory>
WSGIScriptAlias / /var/www/something/core/wsgi.py
<Directory /var/www/something/core>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.something.com [OR]
RewriteCond %{SERVER_NAME} =something.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
服务器管理员webmaster@something.com
ServerName.com
服务器别名www.something.com
DocumentRoot/var/www/something
LoadModule wsgi_module“/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8/lib/python3.8/site packages/mod_wsgi/server/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so”
wsgidaemonprocesssomething python home=/var/www/virtualenvs/something-serv-SrXEIUxH-py3.8 python path=/var/www/something
wsgiprocessgroupsomething
WSGIScriptAlias//var/www/something/core/wsgi.py
别名/robots.txt/var/www/something/static/robots.txt
别名/favicon.ico/var/www/something/static/favicon.ico
别名/media//var/www/something/media/
别名/static//var/www/something/static/
要求所有授权
要求所有授权
WSGIScriptAlias//var/www/something/core/wsgi.py
要求所有授权
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重新启动发动机
RewriteCond%{SERVER_NAME}=www.something.com[或]
RewriteCond%{SERVER_NAME}=something.com
重写规则^https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]
由于某些原因,无法识别site.conf文件中的python home和python path参数。我做错了什么