У меня есть 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
толкать / тянуть мои репозитории через HTTP. Однако, когда я пытаюсь просмотреть репозиторий, созданный с новым hg
(1.7.5), я получаю страницу ошибки 500. Взгляд в Apache error_log
читает что-то о поддержке dotencode
RepoError: requirement 'dotencode' not supported,
Google говорит, что это проблема когда старый hg
пытается прочитать репозиторий, созданный с новым hg
.
Как я могу узнать, какой hg
используется Apache /mod_wsgi
? А как его обновить?
Чтобы уточнить, похоже, что вы БЫЛИ использовали 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.