Подтвердить что ты не робот

Как установить Python 2.7.3 32-битный и 64-битный на Windows бок о бок

У меня Windows Vista 64.

У меня есть несколько проектов, требующих Python 2.7.3 64 бит, а другие, требующие Python 2.7.3 32 бит (потому что некоторые расширения не работают в 64-битном режиме).

Как предотвратить удаление программой Python 2.7.3 MSI (32 или 64 бота) из другой версии.

Бок о бок работал у меня с Python 2.7.2 без проблем.

4b9b3361

Ответ 1

Кажется, это работает для меня в Windows 7 64 бит. Выберите одну версию для установки по умолчанию, например. 64 бит и сначала установите его. Прежде чем делать что-либо другое, установите другую версию.

Укажите другой каталог установки и на экране Customize Python 2.7.3 выберите Register Extensions и выберите Entire feature will be unavailable.

Ответ 2

Обычно вы можете установить несколько версий Python. При установке в Windows, кроме установки файла, реестр также обновляется, поэтому любая последующая установка пакета/инструментов может перечислить всю установку Python в текущем m/c. Только проблема возникает, если установка для одной и той же версии, но с другой битностью. Поскольку путь к реестру ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Python\Pythoncore\ не отличается от битности и исправления ошибок, вы в конечном итоге наложите на InstallPath и PythonPath, если вы устанавливаете одну и ту же версию с различными исправлениями ошибок или различной битостью.

Решение

  • Установите две разные версии для различной битности.
  • Подготовьте script, чтобы обновить раздел реестра каждый раз, когда вы хотите переключиться между битностью. Я случайно наткнулся на простой аналогичный script в effbot, который выполняет задание. Забастовкa >

Обновление

Как сказал Ruediger Jungbeck, он может видеть два разных раздела реестра, я вдруг вспомнил важный пост Vista. В 64-битной системе, чтобы обеспечить доступ к ключам реестра из 32-битного и 64-битного приложений, Windows разбивает реестр на важные узлы. Для 64-битных приложений его собственный путь к реестру, но для 32-битных приложений - WoW6432Node. Поэтому при запуске 32-битной версии Python\Tools\extension она увидит только Wow6432Node. 64-разрядные приложения будут видеть только родной node. Существуют API-интерфейсы для доступа к узлам перекрестной битности, но это выходит за рамки этого вопроса. Итак, чтобы подвести итог, окна разумно обрабатывают 32 и 64-разрядные приложения путем разделения node, который позволит 32-разрядным расширениям прозрачно обращаться к 32-разрядной установке Python.

Ответ 3

При установке 2-го питона для расширений регистров выберите опцию "Целая функция будет недоступна". Путь установки Python 64 будет в реестре "HKLM: SOFTWARE\Python\PythonCore\2.7\InstallPath"

Python 64-битный PythonPath будет в "HKLM: SOFTWARE\Python\PythonCore\2.7\PYTHONPATH"

Python 32 Путь установки будет в реестре "HKLM: SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath"

Python 32-разрядный PythonPath будет в "HKLM: SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PYTHONPATH"

Customize Python with disabling extions