mercurial更新,mod_wsgi运行旧版本

我有一个Centos 5.5的VPS, 在CentOS 5(cPanel)教程和Mercurial 1.6上安装了Python 2.5,mod_wsgi和Django 1.0 ,安装了Python 2.6。

现在我想更新到Mercurial 1.7.5,所以我很容易安装它,它似乎工作。 至less从terminal使用时。

我一直在使用hgwebdir通过HTTP推/拉我的reposisotires。 但是,当我尝试查看使用新的hg (1.7.5)创build的存储库时,出现500错误页面。 在Apache error_log看一看有关dotencode支持

  RepoError: requirement 'dotencode' not supported, 

谷歌说,这是一个hg试图读取一个新的hg做的存储库的问题 。

我怎样才能找出Apache / mod_wsgi使用哪个hg ? 以及如何更新它?

只是澄清,这听起来像你使用mod_wsgi编译对Python 2.5(其中有一个旧版本的HG)。 你现在正在试图用Python 2.6(它有1.7.5)运行mod_wsgi。

假设你按照你链接的文章中的说明,你会注意到你在Python 2.5中编译了mod_wsgi的源代码。 mod_wsgi不会启动Python解释器; 相反,它直接调用Python源代码。 所以,如果你想让mod_wsgi与Python 2.6一起工作,你将不得不用Python 2.6的源代码重新编译它。

您可以按照与文章相同的步骤,只使用Python 2.6的源代码而不是Python 2.5。 我以前编译mod_wsgi是针对Python 2.6的,文章看起来就像它的地方。

希望这有助于,如果您遇到任何问题,请务必留下意见。

对我来说,这听起来像是以下两件事之一:

  • 安装新版本的Mercurial后,需要重新启动Web服务器。 当你使用mod_wsgi ,Apache会保留一个在内存中运行的脚本的副本,以便它能够快速地处理新的请求。 所以可能还有一个Mercurial 1.6在内存中运行。 重新启动Apache应该有所帮助。

  • 你已经在机器上安装了多个Mercurial版本。 尝试searchcommands.py ,看看你是否find多个版本。 然后删除旧版本,并重新安装Redmumbabuild议。