Я разрабатываю Django с Apache, mod_wsgi, виртуальный окрДжанго, mod_wsgi и виртуальная окр
У меня есть виртуальный окр, что я хочу использовать здесь: [! Имя Missleading - длинная история] /главный/Энди/Dev/питон/асинхронный монго/
Я скачал mod_wsgi и скомпилирован с virtual_env как корень
./configure --with-питон =/дом/Энди/Dev/python/async-mongo/bin/python
Я побежал, как корень:
сделать установки
I Настройка WSGIPythonHome & Путь в http.conf
WSGIPythonHome /home/andy/dev/python/async-mongo/
WSGIPythonPath /home/andy/dev/python/async-mongo/lib/python2.6/site-packages
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
Я думаю, что я следовал инструкции на http://code.google.com/p/modwsgi/wiki/VirtualEnvironments
Когда я запускаю приложение «Hello World» это работает
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Когда я пытаюсь импортировать модуль он терпит неудачу:
import sys; raise Exception(sys.path)
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
print >> sys.stderr, 'sys.prefix = %s' % repr(sys.prefix)
print >> sys.stderr, 'sys.path = %s' % repr(sys.path)
return [output]
ошибка я вижу в журналах Апач :
[Пн мар 30, 15:09:53 2012] [уведомление] [уведомление] Apache/2.2.20 (Ubuntu) mod_wsgi/3.3 Конфигурация Python/2.6.7 - r esuming нормальные операции
........
Исключение: [ '/ дом/Энди/DEV/питон/асинхронной-Монго', «/ дом/Энди/DEV/python/async-mongo/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg ', ' /home/andy/dev/python/async-mongo/lib/python2.6/site -packages/pip-1.0.2-py2.6.egg ', ' /home/andy/dev/python/async-mongo/lib/python2.6/site-packages/txmongo-0.3-py2.6-linux -i686.egg ', ' /home/andy/dev/python/async-mongo/lib/python2.6 ', ' /home/andy/dev/python/async-mongo/lib/python2.6/plat -linux2 ', '/home/andy/dev/python/async-mongo/lib/python2.6/lib-tk', '/home/andy/dev/python/async-mongo/lib/python2.6/lib-old ', ' /home/andy/dev/python/async-mongo/lib/python2.6/lib-dynload ', ' /usr/lib/python2.6 ',' /usr/lib/python2.6/ Плат-linux2' , '/usr/lib/python2.6/lib-tk', '/home/andy/dev/python/async-mongo/lib/python2.6/site-packages']
Я угадываю, что где-то я все еще ссылаюсь на старый уровень python на уровне системы, но я не могу понять, где. Как я могу это исправить?
Конечно, это терпит неудачу, потому что вы явно создавая исключение? –
Что такое sys.path, который вы установили в wsgi.py? –
@ DanielRoseman: его проблема не исключение, это sys.path, который он проверяет через сообщение об исключении. –