Django 无法在openSuse服务器中加载WSGI脚本
该错误仅出现在openSuse服务器12.3 x64(最小安装)中。同样的代码和同样的apache设置在Ubuntu发行版中起着类似的作用。运行django项目时出现几个错误 错误:访问页面url时出现“500内部服务器错误” Python环境信息: mod_wsgi设置Django 无法在openSuse服务器中加载WSGI脚本,django,mod-wsgi,wsgi,django-wsgi,Django,Mod Wsgi,Wsgi,Django Wsgi,该错误仅出现在openSuse服务器12.3 x64(最小安装)中。同样的代码和同样的apache设置在Ubuntu发行版中起着类似的作用。运行django项目时出现几个错误 错误:访问页面url时出现“500内部服务器错误” Python环境信息: mod_wsgi设置 我的问题的解决方案与Python在openSuse Server 12.3中的安装方式(预安装)以及它如何符合mod_wsgi安装有关 我如何找到解决方案 我知道的事实。该项目在Ubuntu环境下工作,在openSuse上不工
我的问题的解决方案与Python在openSuse Server 12.3中的安装方式(预安装)以及它如何符合mod_wsgi安装有关 我如何找到解决方案 我知道的事实。该项目在Ubuntu环境下工作,在openSuse上不工作。因此,必须有一些与源代码相关的外部因素阻止它工作。唯一的外在因素是环境。我在谷歌上搜索了与“目标WSGI脚本未加载为Python模块”、“RuntimeError(“populate()不可重入”)相关的错误,并找到了一系列与mod_WSGI相关的帖子。最后,Graham Dumpleton给出了最合理的答案 更深入地讲,我在段落中发现了缺少Python共享库的附加信息。安装问题中显示的ldd命令的输出与我的mod_wsgi.so文件的输出不同。这使我认为openSuse中预安装的Python没有使用共享库在这里,我决定安装Python表单源代码 解决方案实现
zypper rm python
zypper rm python-base
zypper rm python-distribute
zypper rm libpython
一直以来,我在从源代码安装Python时遇到了一些小问题,但这些问题很容易通过谷歌搜索得到并在途中得到解决。manage.py可以解决吗?它不起作用它抛出“ImportError:无法导入名称信号”“从django.test import signalsRight,您有一个更简单的问题。从混合中删除apache。从基本的manage.py开始,但首先,您为什么要从django.test导入内容?编辑问题,执行manage.py runserver并直接发布stacktrace(不是作为要点),并根据需要更改标记,您将获得更好的响应。从django.test导入内容是在运行django项目时执行的内部导入(
Traceback (most recent call last):
File "/srv/www/compare/htdocs/config/apache/wsgi.py", line 28, in <module>
application = get_wsgi_application()
File "/usr/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 112, in create
mod = import_module(mod_path)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/lib/python2.7/site-packages/debug_toolbar/apps.py", line 6, in <module>
from debug_toolbar import settings as dt_settings
File "/usr/lib/python2.7/site-packages/debug_toolbar/settings.py", line 8, in <module>
from debug_toolbar.compat import import_module
File "/usr/lib/python2.7/site-packages/debug_toolbar/compat.py", line 39, in <module>
from django.test import ( # NOQA
File "/usr/lib/python2.7/site-packages/django/test/__init__.py", line 5, in <module>
from django.test.client import Client, RequestFactory
File "/usr/lib/python2.7/site-packages/django/test/client.py", line 22, in <module>
from django.test import signals
ImportError: cannot import name signals
<VirtualHost *:80>
ServerName compare.django
DocumentRoot /srv/www/compare/htdocs
ErrorLog /srv/www/compare/log/error.log
CustomLog /srv/www/compare/log/custom.log combined
WSGIDaemonProcess compare python-path=/srv/www/compare/htdocs:/usr/lib/python2.7/site-packages processes=2 threads=5
WSGIScriptAlias / /srv/www/compare/htdocs/config/apache/wsgi.py
<Directory /srv/www/compare/htdocs>
<Files wsgi.py>
#Require all granted
Order deny,allow
Allow from all
</Files>
</Directory>
<Directory /srv/www/compare/htdocs/config/apache>
WSGIProcessGroup compare
#Require all granted
Order deny,allow
Allow from all
</Directory>
Alias /static/ /srv/www/compare/htdocs/static/
<Directory /srv/www/compare/htdocs/static>
#Require all granted
Order deny,allow
Allow from all
</Directory>
Alias /storage/ /srv/www/compare/htdocs/storage/
<Directory /srv/www/compare/htdocs/storage>
#Require all granted
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
import os, sys
from django.core.wsgi import get_wsgi_application
# Calculate the path based on the location of the WSGI script.
apache_configuration = os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append(project)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
application = get_wsgi_application()
$ldd /usr/lib64/apache2/mod_wsgi.so
linux-vdso.so.1 (0x00007fff67947000)
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007f698c085000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f698be69000)
libc.so.6 => /lib64/libc.so.6 (0x00007f698babb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f698b8b7000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f698b6b4000)
libm.so.6 => /lib64/libm.so.6 (0x00007f698b3b5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f698c651000)
python import sys, django
print sys.prefix # '/usr'
print sys.version # '2.7.3 (default, Apr 14 2012, 08:58:41) [GCC]'
print sys.version_info # 'sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)'
print django.__file__ # '/usr/lib/python2.7/site-packages/django/__init__.pyc'
zypper rm python
zypper rm python-base
zypper rm python-distribute
zypper rm libpython