gpt4 book ai didi

python - Django virtualenv、pythonpath 问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:18:22 25 4
gpt4 key购买 nike

我正在尝试使用 virtualenv 部署 django 应用程序,但我不是 Linux 专家用户。

它位于共享主机上。如果我输入 python,我会得到 python 2.4 控制台。如果类型为 python2.7,我会得到 2.7 控制台。

我想使用2.7。

  1. 我在我的私有(private) .site-packages 中使用 setuptools 安装了 virtualenv。
  2. 我使用 python 2.7 创建了我的环境:.site-packages/virtualenv --no-site-packages -p python2.7 env
  3. 我激活了我的环境并安装了我需要的软件包。
  4. 我配置(尝试)我的 .wsgi 使用环境

我在第4步已经2天了。服务器有一些预安装的模块,位于sys.path上。例如,它安装了 django,但我想使用我的 virtualenv 中安装的模块。

我阅读了一些 wsgi 文档,然后发现:

import sys, os, site

sys.stdout = sys.stderr

os.environ['PYTHON_EGG_CACHE'] = '/home/bruddennautica/apps_wsgi/.python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = "brudden.settings"

sys.path.append('/home/bruddennautica/apps_wsgi')
sys.path.append('/home/bruddennautica/apps_wsgi/env/lib/python2.7/site-packages')

activate_this = '/home/bruddennautica/apps_wsgi/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

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

通过这个conf,我得到了一个django错误,它向我展示了一些东西。 django 错误并不重要,它是因为 django 版本与我在 virtualenv 中安装的版本不相等而引起的,也不等于 python 版本。

打印:http://dl.dropbox.com/u/9290581/error.png

可以看到 python 路径条目,其中大部分不是来自 virtualenv。第一个是:/home/bruddennautica/apps_wsgi/env/lib/python2.4/site-packages。但是这个文件夹不存在。显然它是由 activate_this.py 在第 22 行添加的:

site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')

有人可以帮助我吗?

谢谢

最佳答案

如果您的 mod_wsgi 是针对 Python 2.4 编译的,则无法使用 Python 2.7。您甚至无法将 mod_wsgi 指向使用 Python 2.7 构建的虚拟环境。您唯一的选择是安装针对 mod_wsgi 编译的 mod_wsgi,无论是从二进制发行版包(如果有),还是通过您自己针对正确的 Python 版本从源代码编译 mod_wsgi。

现在看来您可能正在混合使用 Python 版本,但您不能这样做,并且会导致包括崩溃在内的错误。您需要找出为哪个版本的 Python mod_wsgi 编译的。

参见:

http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library

找出这个问题的一种方法。

关于python - Django virtualenv、pythonpath 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com