如何从virtualenv for Django执行Python
我在CentOS 7服务器上安装了Django 2.0.5,并按照 邮局 在添加conf文件之后,我得到了以下错误如何从virtualenv for Django执行Python,django,python-3.x,centos7,wsgi,django-wsgi,Django,Python 3.x,Centos7,Wsgi,Django Wsgi,我在CentOS 7服务器上安装了Django 2.0.5,并按照 邮局 在添加conf文件之后,我得到了以下错误 mod_wsgi (pid=21374): Target WSGI script '/home/user/myproject/myproject/wsgi.py' cannot be loaded as Python module. mod_wsgi (pid=21374): Exception occurred processing WSGI script '/home/user
mod_wsgi (pid=21374): Target WSGI script '/home/user/myproject/myproject/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=21374): Exception occurred processing WSGI script '/home/user/myproject/myproject/wsgi.py'.
Traceback (most recent call last):
File "/home/user/myproject/myproject/wsgi.py", line 18, in <module>
from django.core.wsgi import get_wsgi_application
File "/home/user/myproject_env/lib/python3.7/site-packages/django/__init__.py", line 1, in <module>
from django.utils.version import get_version
File "/home/user/myproject_env/lib/python3.7/site-packages/django/utils/version.py", line 61, in <module>
@functools.lru_cache()
AttributeError: 'module' object has no attribute 'lru_cache'
它确认它正在执行Python2.7.5,而不是Python3.7.0
如何更改Django Python路径以从virtualenv
执行python3
编辑:
这是我的django.conf文件:
Alias /static /home/user/myproject/static
<Directory /home/user/myproject/static>
Require all granted
</Directory>
<Directory /home/user/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject_env/lib/python3.7/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/myproject/myproject/wsgi.py
Alias/static/home/user/myproject/static
要求所有授权
要求所有授权
WSGIDaemonProcess myproject python path=/home/user/myproject:/home/user/myproject_env/lib/python3.7/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias//home/user/myproject/myproject/wsgi.py
的可能副本如果是虚拟环境,请指定其可执行文件的路径:在您的情况下,它应该是/home/user/myproject\u env/bin/python3
。该路径已经在post@hoeflingI中提到的路径列表中。我不是说WSGIPythonPath
,而是说WSGIPythonExecutable
。请仔细阅读链接问题的答案。我使用了WSGIDaemonProcess myproject python path=/home/user/myproject:/home/user/myproject\u env/lib/python3.7/site packages
。添加WSGIPythonExecutable
会在服务器重新启动期间给我以下错误httpd.service的作业失败,因为控制进程带错误代码退出。有关详细信息,请参阅“systemctl status httpd.service”和“journalctl-xe”。
@hoefling
Alias /static /home/user/myproject/static
<Directory /home/user/myproject/static>
Require all granted
</Directory>
<Directory /home/user/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/home/user/myproject:/home/user/myproject_env/lib/python3.7/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/myproject/myproject/wsgi.py