Python 3.x 在debian 8.11上为flask 1.0.3配置Apache/2.4.10 mod_wsgi和virtualenv python 3.6
我的apache配置文件具有:Python 3.x 在debian 8.11上为flask 1.0.3配置Apache/2.4.10 mod_wsgi和virtualenv python 3.6,python-3.x,apache,flask,Python 3.x,Apache,Flask,我的apache配置文件具有: <VirtualHost *:80> ServerName localhost WSGIDaemonProcess tasks4 python-path=/home/user1/Projects/tasks/tasks/tasks/wsgi.py:/home/user1/env_rt_dms:/home/user1/env_rt_dms/lib/python3.6/site-packages WSGIScriptAlias / /home/user
<VirtualHost *:80>
ServerName localhost
WSGIDaemonProcess tasks4 python-path=/home/user1/Projects/tasks/tasks/tasks/wsgi.py:/home/user1/env_rt_dms:/home/user1/env_rt_dms/lib/python3.6/site-packages
WSGIScriptAlias / /home/user1/Projects/tasks/tasks/tasks/wsgi.py
WSGIPassAuthorization On
Alias /rt1 /home/user1/Projects/tasks/tasks/tasks/static/
<Directory /home/user1/Projects/tasks/tasks>
DirectoryIndex index.html
WSGIProcessGroup tasks4
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Require all granted
</Directory>
</VirtualHost>
激活apache web服务器后的浏览器url:出现404错误
apache日志显示:mod_wsgi:Compiled for Python/3.4.2作为警告。请告诉我需要修复什么才能使此配置正常工作?
python home
应设置WSGIDaemonProcess
指令的选项
激活终端中安装了mod_wsgi
的虚拟环境
在终端中运行命令,python-c“import sys;print(sys.prefix)”
,复制输出,并将其设置为python home
选项
WSGIDaemonProcess tasks4 python-path=/home/user1/Projects/tasks/tasks/tasks python-home=<sys_prefix_value_in_virtual_env>
查看
python路径
选项,确保/home/user1/Project/tasks/tasks/tasks
是项目的根文件夹。WSGIDaemonProcess
指令的python home
选项应该设置
激活终端中安装了mod_wsgi
的虚拟环境
在终端中运行命令,python-c“import sys;print(sys.prefix)”
,复制输出,并将其设置为python home
选项
WSGIDaemonProcess tasks4 python-path=/home/user1/Projects/tasks/tasks/tasks python-home=<sys_prefix_value_in_virtual_env>
查看
python路径
选项,确保/home/user1/Project/tasks/tasks/tasks
是项目的根文件夹。“apache日志显示:mod_wsgi:Compiled for python/3.4.2作为警告”。您的python虚拟环境中安装了什么版本的python?为WSGIDaemonProcess
指令的python路径选项配置的第一个目录是文件路径。您需要将其更正到包含应用程序的wsgi.py
模块的文件夹中。@OluwafemiSule 1.将WSGIDaemonProcess更改为tasks4 python path=/home/user1/Projects/tasks/tasks/并重试。2.也找不到使用python/3.6编译的mod_wsgi。因此张贴。此外,这只是一个警告,没有错误。您还发现了其他问题吗?“apache日志显示:mod_wsgi:Compiled for Python/3.4.2作为警告”。您的python虚拟环境中安装了什么版本的python?为WSGIDaemonProcess
指令的python路径选项配置的第一个目录是文件路径。您需要将其更正到包含应用程序的wsgi.py
模块的文件夹中。@OluwafemiSule 1.将WSGIDaemonProcess更改为tasks4 python path=/home/user1/Projects/tasks/tasks/并重试。2.也找不到使用python/3.6编译的mod_wsgi。因此张贴。此外,这只是一个警告,没有错误。您还发现了其他问题吗?应该安装哪个mod_wsgi?mod_wsgi的系统范围安装:apt get install libapache2-mod-wsgi-py3就是我所做的。在virtualenv中:我无法安装:$pip install libapache2-mod-wsgi-py3错误:找不到满足libapache2-mod-wsgi-py3要求的版本(来自版本:无)错误:找不到与libapache2-mod-wsgi-py3I匹配的发行版我已经在/home/user1文件夹中创建了我的virtualenv,当命令在virtualenv中运行时,python-c“import sys;print(sys.prefix)”I get“/usr/local”也会为另一个项目激活它。系统范围内也安装了python 3.6sys。虚拟环境中的前缀值不正确。我建议为项目设置一个单独的虚拟环境。检查sys.prefix
值是否从/usr/local
更改为新虚拟环境中包含python
的文件夹。您可以通过运行pip install mod_wsgi
在虚拟环境中安装mod_wsgi
。请参阅(env_dms_rt)的Python安装部分user1@debian:~/Projects/tasks$python-c“import sys;print(sys.prefix)”/usr/local(env_dms_rt)user1@debian:~/Projects/tasks$python3-c“import sys;print(sys.prefix)”/home/user1/Projects/tasks/env\u dms\rt如何检查正在使用哪些?应该安装哪个mod\u wsgi?mod_wsgi的系统范围安装:apt get install libapache2-mod-wsgi-py3就是我所做的。在virtualenv中:我无法安装:$pip install libapache2-mod-wsgi-py3错误:找不到满足libapache2-mod-wsgi-py3要求的版本(来自版本:无)错误:找不到与libapache2-mod-wsgi-py3I匹配的发行版我已经在/home/user1文件夹中创建了我的virtualenv,当命令在virtualenv中运行时,python-c“import sys;print(sys.prefix)”I get“/usr/local”也会为另一个项目激活它。系统范围内也安装了python 3.6sys。虚拟环境中的前缀值不正确。我建议为项目设置一个单独的虚拟环境。检查sys.prefix
值是否从/usr/local
更改为新虚拟环境中包含python
的文件夹。您可以通过运行pip install mod_wsgi
在虚拟环境中安装mod_wsgi
。请参阅(env_dms_rt)的Python安装部分user1@debian:~/Projects/tasks$python-c“import sys;print(sys.prefix)”/usr/local(env_dms_rt)user1@debian:~/Projects/tasks$python3-c“import sys;print(sys.prefix)”/home/user1/Projects/tasks/env\u dms\rt如何检查正在使用的是哪个?