[英]500 internal server error mod_wsgi apache "importerror: No Module named 'django'
[英]Django + Apache + Mod_wsgi cuasing 500 Internal Server Error (log attached)
經過一天的研究,仍然無法解決問題。 服務器處於聯機狀態,使用virtulenv Windows 8-64bit,python34,Wamp服務器apache 64bit中的站點
內部conf:
Listen 8080
NameVirtualHost 127.0.0.1:8080
<VirtualHost *:8080>
ServerAdmin admin@hotmail.com
ServerName 192.168.0.101:8080
DocumentRoot "C:/wamp/www/venv/testweb10/testweb10"
</VirtualHost>
WSGIScriptAlias / "C:/wamp/www/venv/testweb10/testweb10/wsgi.py"
WSGIPythonPath "C:/wamp/www/venv/Lib/site-packages"
<Directory "C:/wamp/www/venv/testweb10">
<Files wsgi.py>
Order deny,allow
Require all granted
</Files>
</Directory>
Settings.py
DEBUG = True
ALLOWED_HOSTS = ['testweb10']
主機
127.0.0.1 testweb10
我懷疑是否存在python兼容性問題
用戶變量路徑:
C:\WINDOWS\system32;C:\Python34;C:\Python34\python.exe;C:\Python34\Scripts;C:\Python34\Lib\site-packages\django\bin;
請幫忙
您在wsgi.py中是否引用了您的virtualenv? 例如,這是我在Linux上使用的模板:
import site
site.addsitedir('/home/mysite/venv/lib/python2.7/site-packages')
import os
import sys
sys.path.append('/home/mysite/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
這是Django 1.6 btw。 Django 1.7在wsgi.py中有一些區別
對於Django 1.7,最后兩行是:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
WSGIPythonPath必須包含項目的根。
用於指定其他目錄以搜索Python模塊。 如果指定了多個目錄,則在使用UNIX之類的系統時,應使用':'分隔;否則應使用';'。 如果使用Windows。
WSGIPythonPath = "C:/wamp/www/venv/testweb10/testweb10;C:/wamp/www/venv/Lib/site-packages"
最終以下似乎適用於Django 1.8
import site
site.addsitedir( “C:/ Python34 /庫/站點包”)
import os
import sys
sys.path.append("C:/wamp/www/venv/testweb10/testweb10")
from django.core.wsgi import get_wsgi_application
os.environ["DJANGO_SETTINGS_MODULE"] = "testweb10.settings"
application = get_wsgi_application()
但是現在卻出錯了:([[mpm_winnt:notice] [pid 3788:tid 688] AH00455:Apache / 2.4.9(Win64)mod_wsgi / 4.4.10 Python / 3.4.3 PHP / 5.5.12配置了-恢復正常操作
對於有同樣問題的人:
一些建議(也適用於我自己):
每個組件的版本都很重要
1)干凈地安裝Appache或Wamp服務器。 確保刪除其舊注冊表。
2)獲取Mod_WSGI並仔細遵循安裝說明!!!
2.5)如果沒有Django,可以正常工作,請測試Mod_WSGI
3)最后一步是安裝python,Django,並設置環境和conf。
4)測試和部署
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.