![](/img/trans.png)
[英]WSGIDaemon Process syntax error - Mod_wsgi django ImportError: No module named django.core.wsgi
[英]Error while configuring Django with mod_wsgi on Python inside Anaconda: “ImportError: No module named django.core.wsgi”
我在ubuntu上運行django + apache2時遇到的問題很少。 Django 1.7,Apache2.4.7
我在python 2上運行anaconda堆棧,主要是3.4 +另一個環境
我試圖設置簡單的測試站點並收到內部錯誤500,以及Apache的錯誤日志中的以下錯誤消息:
[Sat Jan 10 11:56:16.095032 2015] [:error] [pid 14441:tid 140015774267136] [client 127.0.0.1:59135] ImportError: No module named django.core.wsgi
[Sat Jan 10 12:03:01.895432 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] mod_wsgi (pid=14439): Target WSGI script '/PATH/mysite/wsgi.py' cannot be loaded as Python module.
[Sat Jan 10 12:03:01.895483 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] mod_wsgi (pid=14439): Exception occurred processing WSGI script '/PATH/mysite/wsgi.py'.
[Sat Jan 10 12:03:01.895498 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] Traceback (most recent call last):
[Sat Jan 10 12:03:01.895515 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] File "/PATH/mysite/wsgi.py", line 13, in <module>
[Sat Jan 10 12:03:01.895565 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] from django.core.wsgi import get_wsgi_application
[Sat Jan 10 12:03:01.895582 2015] [:error] [pid 14439:tid 140015774267136] [client 127.0.0.1:59157] ImportError: No module named django.core.wsgi
wsgi.py:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
它的運行正常
python manage.py runserver
所以這里的問題是(我認為)mod-wsgi沒有在正確的python上配置,因為默認的python是(“mod_wsgi / 3.4 Python / 2.7.6 configured”),而django安裝在anaconda 2.7.9上。
如果我的猜測是好的(請讓我知道我們需要什么其他信息才能靈魂化)我的問題是:如何重新編譯mod-wsgi以便它與anaconda的2.7.9環境相關聯? 另一個問題是,我可以保留原樣並只添加一些指令鏈接到anaconda庫嗎? 那個文件夾是什么,我在哪里放WSGIPythonHome指令呢?
謝謝你看看
有類似的問題,答案是在虛擬主機文件中:
WSGIDaemonProcess mysite python-path=/path/to/mysite:/path/to/anaconda3/envs/python2/lib/python2.7/site-packages/
WSGIProcessGroup mysite
WSGIScriptAlias / /path/to/mysite/mysite/wsgi.py
ServerName www.mysite.com
ServerAlias mysite.com
ServerAdmin webmaster@mysite.com
<Directory /path/to/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog /path/to/web/test/error.log
檢查Apache的httpd.conf
的此設置:
在<VirtualHost x:y>
部分中,確保WSGIDaemonProcess
的python-path
值包含Anaconda安裝中的Python site-packages目錄 。
Othwerwise,mod_wsgi可能找不到你在Anaconda中為Python安裝的Django。
例如,如果您已將Anaconda安裝到: /opt/anaconda2
Python site-packages目錄可能是: /opt/anaconda2/lib/python2.7/site-packages
因此,將WSGIDaemonProcess
更改為:
WSGIDaemonProcess YOUR_PROJECT_NAME python-path=/opt/anaconda2/lib/python2.7/site-packages:YOUR_PROJECT_DIRECTORY ......
(分離由結腸每個路徑:
)
注意:
1. 路徑中的版本號可能會根據您的工具版本而變化。 請找到類似的路徑並嘗試一下。
2.每個Linux發行版(不僅僅是Ubuntu),甚至是Windows上都可能出現此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.