Python 具有虚拟环境的Django
我正在尝试用虚拟环境配置apache和wsgi。 但是apache使用另一个版本(1.3.1)为我的django服务。另一个版本是我在标准python设置中的默认安装 路径Python 具有虚拟环境的Django,python,django,Python,Django,我正在尝试用虚拟环境配置apache和wsgi。 但是apache使用另一个版本(1.3.1)为我的django服务。另一个版本是我在标准python设置中的默认安装 路径 /opt/django/webtools_django15/ |-- __init__.py |-- myapp | |-- __init__.py | |-- __init__.pyc | |-- myapp.wsgi | |-- myapp_settings.py | |-- myapp_settin
/opt/django/webtools_django15/
|-- __init__.py
|-- myapp
| |-- __init__.py
| |-- __init__.pyc
| |-- myapp.wsgi
| |-- myapp_settings.py
| |-- myapp_settings.pyc
| |-- myapp_urls.py
| |-- forms.py
| |-- forms.pyc
| |-- models.py
| |-- tests.py
| |-- views.py
| |-- views.py-bak
| `-- views.pyc
|-- manage.py
|-- modules
| `-- dnslookup.py
|-- static
| !! omitted !!
|-- templates
| `-- myapp
| |-- myapp-about.html
| |-- myapp-base.html
| |-- myapp-cachecheck-result.html
| |-- myapp-glossary.html
| |-- myapp-home.html
| |-- myapp-input-cachecheck.html
| |-- myapp-input-cachecheck.html-bak
| |-- myapp-input-lookup.html
| |-- myapp-input-lookup.html-bak
| |-- myapp-input-report.html
| |-- myapp-input-report.html-bak
| |-- myapp-lookup-result.html
| |-- myapp-partners.html
| |-- myapp-ratelimited.html
| `-- myapp-report-result.html
`-- webtools_django15
|-- __init__.py
|-- __init__.pyc
|-- settings.py
|-- settings.py-bak
|-- settings.pyc
`-- urls.py
WSGI文件
(django15)[root@bob-x django]# cat /opt/django/webtools_django15/myapp/myapp.wsgi
import os
import sys
import site
site.addsitedir("/opt/django/virtenv/django15/lib/python2.7/site-packages/")
from django.core.handlers.wsgi import WSGIHandler
sys.path.append('/opt/django/webtools_django15/')
sys.path.append('/opt/django/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.myapp_settings'
application = WSGIHandler()
<VirtualHost *:80 >
DocumentRoot /opt/django/webtools_django15/
ServerName myapp.co.uk
ServerAlias www.myapp.co.uk direct.myapp.co.uk
WSGIApplicationGroup myapp
WSGIScriptAlias / /opt/django/webtools_django15/myapp/myapp.wsgi
WSGIDaemonProcess myapp processes=5 python-path=/opt/django/webtools_django15:/opt/django/virtenv/django15/lib/python2.7/site-packages/ threads=1
Alias /static/ /opt/django/webtools_django15/static/
ErrorLog logs/myapp-error.log
CustomLog logs/myapp-access.log common
</VirtualHost>
APACHE
(django15)[root@bob-x django]# cat /opt/django/webtools_django15/myapp/myapp.wsgi
import os
import sys
import site
site.addsitedir("/opt/django/virtenv/django15/lib/python2.7/site-packages/")
from django.core.handlers.wsgi import WSGIHandler
sys.path.append('/opt/django/webtools_django15/')
sys.path.append('/opt/django/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.myapp_settings'
application = WSGIHandler()
<VirtualHost *:80 >
DocumentRoot /opt/django/webtools_django15/
ServerName myapp.co.uk
ServerAlias www.myapp.co.uk direct.myapp.co.uk
WSGIApplicationGroup myapp
WSGIScriptAlias / /opt/django/webtools_django15/myapp/myapp.wsgi
WSGIDaemonProcess myapp processes=5 python-path=/opt/django/webtools_django15:/opt/django/virtenv/django15/lib/python2.7/site-packages/ threads=1
Alias /static/ /opt/django/webtools_django15/static/
ErrorLog logs/myapp-error.log
CustomLog logs/myapp-access.log common
</VirtualHost>
DocumentRoot/opt/django/webtools\u django15/
ServerName myapp.co.uk
ServerAlias www.myapp.co.uk direct.myapp.co.uk
WSGIApplicationGroup myapp
WSGIScriptAlias//opt/django/webtools_django15/myapp/myapp.wsgi
WSGIDaemonProcess myapp processs=5 python路径=/opt/django/webtools\u django15:/opt/django/virtenv/django15/lib/python2.7/site-packages/threads=1
别名/static//opt/django/webtools\u django15/static/
ErrorLog日志/myapp-error.log
自定义日志/myapp-access.log通用
知道发生了什么吗?您缺少一个WSGIProcessGroup指令,该指令告诉mod_wsgi在您配置的守护进程中运行一些东西。使用:
WSGIProcessGroup myapp
WSGIApplicationGroup %{GLOBAL}
后者不是严格需要的,但如果使用在子解释器(辅助应用程序组)中不起作用的第三方Python C扩展,则可以避免问题。可能是您应该尝试
/opt/django/virtenv/django15/lib/python2.7/site packages/
而不使用斜杠?i、 e.just/opt/django/virtenv/django15/lib/python2.7/站点包