虚拟环境问题

0 投票
1 回答
1043 浏览
提问于 2025-04-15 18:32

我在虚拟环境中创建了一个新的环境,使用了 --no-site-packages 选项,并执行了激活文件。那么,我现在的 Django 应用不应该出现任何错误吧?因为这个环境里没有安装 Django。我觉得我的网站还是在用我之前的 Python 和 Django。那我该怎么改变呢?
可能是因为我的 .htaccess 文件,这里是它的内容:

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

我还需要做些什么才能使用我的新环境呢?

1 个回答

4

使用mod_wsgi时,你可以把WSGIPythonHome设置成你的虚拟环境所在的位置。不过,mod_python就不太好设置解释器了(可能需要在apache启动时设置PYTHONEXECUTABLE来实现)。

看看bin/python(和bin/activate在一起)对sys.path做了什么,然后在PythonPath指令中模仿一下。可以写一个页面来显示当前的sys.path,确保系统的python路径不在里面;如果出现了,就用PythonPath进一步编辑一下。

撰写回答