Pip + WSGI导入错误

时间:2009-12-09 16:23:55

标签: python django wsgi virtualenv pip

当我部署使用django测试服务器工作正常的应用程序时,我通常会使用pip install -e ....#egg = foo为我安装的每个软件包出错。我通常使用virtualenv来做这个,它将文件放入env / src / foo并将另一个文件放入python / site-packages(这是django-css的一个例子):

django-css.egg-link,其中包含以下行:

/home/pinax-0.7.1/src/django-css
.

我如何告诉wsgi它应该遵循这些链接,或者我是否完全做错了。

感谢, Philipp Wassibauer

2 个答案:

答案 0 :(得分:4)

这是我在virtualenv中的Django WSGI脚本的样子:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

import site
site.addsitedir('/path/to/virtualenv/lib/python2.6/site-packages')

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

密钥位为site.addsitedir(...),它将指定目录中任何*.pth个文件的内容添加到sys.path。在这种情况下,它是Python需要帮助查找的easy-install.pth文件。

答案 1 :(得分:0)

modwsgi文档有how to use virtualenv的注释。它通常就像修改django.wsgi(或任何你称之为)文件一样简单,以便将virtualenv环境添加到modwsgi的路径。

This link有一些关于使用pip / virtualenv / modwsgi的额外的,提炼的注释。