2010-01-27 75 views
0

我使用--no-site-packages在virtualenv中创建了一个新的环境并执行激活文件。那么,我现在的Django应用程序不应该显示任何错误? Environement没有安装Django。我想,我的网站正在使用Django的旧python。我该如何改变它?
也许是因为我的.htaccess文件,那就是:Virtualenv问题

SetHandler mod_python 
PythonPath "['/home/usr/PythonEnvs/Django/bin/python', 'home/usr/apps'] + sys.path" 
PythonOption mod_python.importer.path "['/home/usr/PythonEnvs/Django/bin/python']+ sys.path" 
PythonHandler django.core.handlers.modpython 
PythonDebug On 

SetEnv DJANGO_SETTINGS_MODULE application.settings 

SetEnv PYTHON_EGG_CACHE /tmp/egg-cache 

还有什么应该怎么做来用我的environement?

回答

4

使用mod_wsgi,您可以将WSGIPythonHome设置为virtualenv所在的位置。 (不过,mod_python并不能让你轻松设置解释器)(可能有一种方法需要在apache启动时设置PYTHONEXECUTABLE)。

看看有什么bin/pythonbin/activate旁边)做到sys.path,并模仿PythonPath指令。编写一个显示当前sys.path的页面,并确保系统python路径不会出现;如果是这样,请用PythonPath进一步编辑。

+3

+1。 OP(和其他人)无论如何都应该使用mod_wsgi。 – 2010-01-27 16:12:36

+0

对于mod_wsgi,请参阅'http://code.google.com/p/modwsgi/wiki/VirtualEnvironments'。 – 2010-01-28 03:30:11