Mercurial обновлен, mod_wsgi работает старая версия
У меня есть VPS с Centos 5.5, установленный Python 2.6 после установки Python 2.5, mod_wsgi и Django 1.0 на CentOS 5 (cPanel), учебник и Mercurial 1.6 через легкую установку.
Теперь я хотел обновить до Mercurial 1.7.5, поэтому я легко установил его, и он, кажется, работает. По крайней мере, при использовании из терминала.
Я использую hgwebdir
подтолкнуть / вытащить мои reposisotires через HTTP. Тем не менее, когда я пытаюсь просмотреть репозиторий, созданный с новым hg
(1.7.5), я получаю страницу ошибки 500. Посмотрите в Apache error_log
читает что-то о поддержке Dotencode
RepoError: requirement 'dotencode' not supported,
Google говорит, что это проблема, когда старый hg
пытается прочитать репозиторий, сделанный с новым hg
,
Как я могу узнать, какие hg
используется Apache / mod_wsgi
? И как его обновить?
2 ответа
Просто чтобы прояснить, звучит так, будто вы БЫЛИ использовали mod_wsgi, скомпилированный с Python 2.5 (который имеет старую версию hg). Теперь вы пытаетесь запустить mod_wsgi с Python 2.6 (с hg 1.7.5).
Предполагая, что вы следовали инструкциям в статье, которую вы связали, вы заметите, что вы скомпилировали mod_wsgi для исходников в Python 2.5. mod_wsgi не запускает интерпретатор Python; вместо этого он напрямую обращается к источникам Python. Поэтому, если вы хотите, чтобы mod_wsgi работал с Python 2.6, вам придется перекомпилировать его с исходными кодами Python 2.6.
Вы можете выполнить те же действия, что и в статье, используя только исходные коды Python 2.6 вместо Python 2.5. Я скомпилировал mod_wsgi для Python 2.6 и раньше, и статья выглядит так, как надо.
Надеюсь, это поможет, и обязательно оставляйте комментарии, если у вас возникнут какие-либо проблемы.
Для меня это звучит как одна из двух вещей:
Вам необходимо перезапустить веб-сервер после установки новой версии Mercurial. Когда вы используете
mod_wsgi
Apache будет хранить копию скрипта, работающего в памяти, чтобы он мог быстро обслуживать новые запросы. Так что, возможно, в памяти все еще работает Mercurial 1.6. Перезапуск Apache должен помочь.Вы установили несколько версий Mercurial на машину. Попробуйте найти
commands.py
и посмотрите, найдете ли вы более одной версии. Затем удалите старую версию и переустановите ее, как рекомендует Redmumba.