Python 部署django应用程序时出现的问题

Python 部署django应用程序时出现的问题,python,django,django-deployment,Python,Django,Django Deployment,当我试图访问django网站时,我遇到了“内部服务器错误”。 我使用的是Django 1.8、Python 2.7.10、centos 6.5和apache 在apache日志中,我收到以下错误: mod_wsgi (pid=23866): Target WSGI script '/abc/abc/abc/wsgi.py' cannot be loaded as Python module. [Mon May 25 14:40:47 2015] [error] [client xyz] mod_

当我试图访问django网站时,我遇到了“内部服务器错误”。 我使用的是Django 1.8、Python 2.7.10、centos 6.5和apache

在apache日志中,我收到以下错误:

mod_wsgi (pid=23866): Target WSGI script '/abc/abc/abc/wsgi.py' cannot be loaded as Python module.
[Mon May 25 14:40:47 2015] [error] [client xyz] mod_wsgi (pid=23866): Exception occurred processing WSGI script '/abc/abc/abc/wsgi.py'.
[Mon May 25 14:40:47 2015] [error] [client xyz] Traceback (most recent call last):
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/abc/abc/wsgi.py", line 12, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.core.wsgi import get_wsgi_application
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/__init__.py", line 1, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.utils.version import get_version
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/utils/version.py", line 7, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.utils.lru_cache import lru_cache
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/utils/lru_cache.py", line 28
[Mon May 25 14:40:47 2015] [error] [client xyz]      fasttypes = {int, str, frozenset, type(None)},
[Mon May 25 14:40:47 2015] [error] [client xyz]                      ^
[Mon May 25 14:40:47 2015] [error] [client xyz]  SyntaxError: invalid syntax
mod_wsgi(pid=23866):目标wsgi脚本'/abc/abc/abc/wsgi.py'不能作为Python模块加载。
[2015年5月25日星期一14:40:47][error][client xyz]mod_wsgi(pid=23866):处理wsgi脚本'/abc/abc/wsgi.py'时发生异常。
[2015年5月25日星期一14:40:47][error][client xyz]回溯(最近一次通话最后一次):
[2015年5月25日星期一14:40:47][error][client xyz]文件“/abc/abc/wsgi.py”,第12行,在
[2015年5月25日星期一14:40:47][error][client xyz]来自django.core.wsgi导入get_wsgi_应用程序
[2015年5月25日星期一14:40:47][error][client xyz]文件“/abc/lib/python2.7/site packages/django/__init___.py”,第1行,在
[2015年5月25日星期一14:40:47][error][client xyz]来自django.utils.version import get_version
[2015年5月25日星期一14:40:47][error][client xyz]文件“/abc/lib/python2.7/site packages/django/utils/version.py”,第7行,在
[2015年5月25日星期一14:40:47][error][client xyz]来自django.utils.lru_缓存导入lru_缓存
[2015年5月25日星期一14:40:47][error][client xyz]文件“/abc/lib/python2.7/site packages/django/utils/lru_cache.py”,第28行
[2015年5月25日星期一14:40:47][error][client xyz]fasttypes={int,str,frozenset,type(None)},
[2015年5月25日星期一14:40:47][错误][客户xyz]^
[2015年5月25日星期一14:40:47][error][client xyz]语法错误:无效语法

谢谢

尽管您说您正在运行Python2.7,但此错误表明实际上您正在使用2.6,因为set文本仅在2.7中引入


问题是mod_wsgi是根据特定的Python版本编译的,在您的例子中,它是Centos 6.5附带的版本。您需要为2.7重新编译它,或者找到一个已经编译过的版本。

尽管您说您正在运行Python2.7,但此错误表明实际上您正在使用2.6,因为set文本仅在2.7中引入


问题是mod_wsgi是根据特定的Python版本编译的,在您的例子中,它是Centos 6.5附带的版本。您需要为2.7重新编译它,或者找到一个已经编译过的版本。

您需要开始在django项目中使用virtualenv。这是一个很好的例子。对于一个临时解决方案,您可以通过使用
python2.7 manage.pyrunserver
使用python 2.7运行django。但是,强烈建议您研究virtualenv。让生活更轻松

关于让mod_wsgi使用python 2.7,您需要重新编译它。为此,只需下载源代码并执行:

$ ./configure
$ make
$ sudo make install

他们有一个快速安装指南,您可以访问。

您需要开始在django项目中使用virtualenv。这是一个很好的例子。对于一个临时解决方案,您可以通过使用
python2.7 manage.pyrunserver
使用python 2.7运行django。但是,强烈建议您研究virtualenv。让生活更轻松

关于让mod_wsgi使用python 2.7,您需要重新编译它。为此,只需下载源代码并执行:

$ ./configure
$ make
$ sudo make install

他们有一个快速安装指南,您可以访问。

好的,谢谢。你能给我指一些关于如何为2.7重新编译mod_wsgi的链接吗。另外,我在上学习了教程,可以使用python2.7访问python2.7,但不确定django为什么仍然使用2.6版本。好的,谢谢。你能给我指一些关于如何为2.7重新编译mod_wsgi的链接吗。另外,我在上学习了教程,可以使用python2.7访问python2.7,但不确定django为什么仍然使用2.6版本。感谢您尝试制作mod_wsgi,但不断出现一个又一个错误,无法完成制作步骤,因此,移动到centos 7,它已经内置了python 2.7,并且工作得非常好。感谢您尝试制作mod_wsgi,但不断出现一个又一个错误,无法完成制作步骤,因此移动到centos 7,它已经内置了python 2.7,并且工作得非常好。