【问题标题】:django + wsgi + python versiondjango + wsgi + python 版本
【发布时间】:2012-05-04 01:06:46
【问题描述】:

我在虚拟环境中有一个 django 站点,该站点使用随 Ubuntu 一起安装的 Python 2.6。但我的 django 应用程序需要 Python 2.7。

我发现,我必须使用 --with-python 选项为另一个 Python 版本重新编译我的 wsgi,如 http://code.google.com/p/modwsgi/wiki/InstallationIssues#Multiple_Python_Versions 所述

但我想知道这是否是全局 wsgi 安装?我可以仅将 wsgi+Python2.7 用于特定的虚拟环境吗?我不想影响服务器上的其他应用程序。

【问题讨论】:

  • 你为什么投反对票?也许有任何cmets? :-)

标签: python django wsgi


【解决方案1】:

是的,这会影响全局安装,即apache+modwsgi。我不使用 apache+modwsgi,但是如果 modwsgi 可以动态更改 python 解释器(我怀疑它是),这对你来说将是一个更好的解决方案。

另一种方法可能是:检查 modwsgi 是否可以配置为感知 virtualenv,因此它将使用此 env 的 python 解释器,我认为这也可能是不可能的,因为似乎 python 库链接到modwsgi 库。

您是否考虑过使用其他解决方案来运行您的 django 应用程序?

在这两种情况下,将您的应用程序作为分离的进程运行,然后您就可以真正使用 virtualenv 并选择它将使用哪个 python 版本。

【讨论】:

  • 与 mod_wsgi 安装一起使用的所有虚拟环境当前必须针对与 mod_wsgi 编译时相同的 Python 版本。这确实是因为 mod_wsgi 是一个嵌入式系统,并且链接了特定版本的 Python 库。换句话说,它实际上并没有调用“python”可执行文件,所以是硬连线的。
  • 确实,我以为是这样。谢谢@GrahamDumpleton!
  • 我现在需要快速解决方案。因为我不熟悉 mongrel2 和 gunicorn 我最好用 Python 2.7 重新编译我的 wsgi。也许以后我会尝试其他解决方案。无论如何,谢谢你们,你们节省了我很多时间。
猜你喜欢
  • 2017-04-18
  • 2015-01-12
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
  • 2020-08-02
  • 2017-10-13
  • 2012-06-19
  • 2015-11-17
相关资源
最近更新 更多