Домашний каталог Python в Windows / Проблема с несколькими версиями

Я использую Python 3 для разработки и CollabNet Subversion Edge в качестве программного обеспечения для управления версиями. Subversion Edge поставляется с небольшой программой под названием ViewVC, написанной на Python 2, которая также напрямую связана с ней. Существует системная переменная окружения, которая называется PYTHONHOME.

  • Если для него установлен дистрибутив Python 2 из Subversion Edge, мой Python 3 не запустится (даже IDLE), вместо этого появится окно сообщения об ошибке во время выполнения.
  • Если он установлен на Python 3, ViewVC не работает.

Есть ли способ заставить оба работать одновременно?

3 ответа

Решение

Вам не нужно вообще устанавливать PYTHONHOME. Python использует его (если установлен), чтобы найти его установку. Как правило, он должен быть в состоянии найти его также и без этой переменной: посмотрев на путь к исполняемому файлу python и, если его не получится, заглянув в реестр.

Напишите файл.bat или cmd, в котором сохранено значение переменной env var PYTHONHOME, активизирован ViewVC и дождитесь его завершения, а затем восстановите PYTHONHOME к сохраненному значению.

Рассматривали ли вы вопрос об изменении служб Subversion Edge для запуска под определенной учетной записью пользователя, а затем переместите переменную среды PYTHONHOME в переменную уровня пользователя только для этой учетной записи? В отличие от общесистемной переменной? Кажется, это должно работать.

Кстати, переменная PYTHONHOME добавлена ​​для правильной работы mod_python (что и служит ViewVC). Если вы можете найти другой способ заставить mod_python работать, то вы можете попробовать это.

Другие вопросы по тегам