【发布时间】:2014-02-01 17:17:30
【问题描述】:
好吧,我一定是太愚蠢了,但我不知道如何让这个工作,我有将近两个小时,我不能再进步了,我真的不知道出了什么问题,我已经阅读了很多指南,我一切都很好..
但是让我们粘贴你的配置:
目录结构:
├── apps
├── config
└── wsgi.py
├── settings.py
├── dev
├── env
├── static
│ ├── css
│ ├── img
│ └── js
│ └── vendor
└── templates
├── admin
│ └── supervisor
└── base
├── manage.py
wsgi.py
import os
import sys
from site import addsitedir
from os.path import abspath, dirname, join
sys.path.insert(0, abspath(join(dirname(__file__), "..")))
sys.path.insert(0, abspath(join(dirname(__file__), "../apps")))
sys.path.insert(1, abspath(join(dirname(__file__), "../config")))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
backoffice.ini
[uwsgi]
chdir = /var/www/backoffice
mountpoint = /var/www/backoffice
gid = www-data
uid = www-data
socket = /tmp/uwsgi.backoffice.sock
virtualenv = /var/www/backoffice/env
plugins = python
master = True
chmod-socket = 666
memory-report = 1
harakiri = 20
processes = 4
profiler = 1
pythonpath = /var/www/backoffice
vacuum = True
max-requests = 5000
然后我运行以下命令:
uwsgi --ini /var/www/backoffice/backoffice.ini -b 32000 --wsgi-file /var/www/backoffice /config/wsgi.py
我得到“无法导入它在 sys.path 上的设置”的错误,当然是!
系统路径
['/var/www/backoffice/', '.', '', '/var/www/backoffice/env/local/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg', '/var/www/backoffice/env/local/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg', '/var/www/backoffice/env/src/django-logicaldelete', '/var/www/backoffice/env/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg', '/var/www/backoffice/env/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg', '/var/www/backoffice/env/lib/python2.7', '/var/www/backoffice/env/lib/python2.7/plat-i386-linux-gnu', '/var/www/backoffice/env/lib/python2.7/lib-tk', '/var/www/backoffice/env/lib/python2.7/lib-old', '/var/www/backoffice/env/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-i386-linux-gnu', '/usr/lib/python2.7/lib-tk', '/var/www/backoffice/env/local/lib/python2.7/site-packages', '/var/www/backoffice/env/lib/python2.7/site-packages']
有什么提示吗?什么太明显了,我没有看到......谢谢
【问题讨论】:
-
你能在 Python shell 中
import config.settings激活 virtualenv 吗? -
是的,当我在 virtualenv 上运行 python manage.py shell 并导入 config.settings 时一切正常
-
即使你不在
/var/www/backoffice/? -
是的,我运行:python /var/www/backoffice/manage.py shell 然后:import config.settings 并且工作正常。
-
您是如何从问题末尾获得
sys.path的?看起来您通过sys.path.insert(应用程序、配置)所做的更改不在那里——您是在 wsgi 文件中还是print sys.path或其他什么?