Каков стандартный способ параллельной установки 32-битных и 64-битных версий Python на компьютере с Windows? - PullRequest
9 голосов
/ 18 февраля 2012

Я хотел бы установить 32-битные и 64-битные версии Python на машине Windows параллельно. Каталог по умолчанию - c: \ Python ?? для обоих, так что мне придется изменить один или оба каталога установки. Мне любопытно посмотреть, что означает "стандартный" способ поддержки обеих версий?

Ответы [ 2 ]

3 голосов
/ 29 октября 2013

Поскольку мой 32-битный Python продолжал искать в 64-битных каталогах, я добавил следующую строку перед импортом вещей:

import sys
sys.path = [r'C:\Python27-32',r'C:\Python27-32\Lib\site-packages'] + sys.path

и это обычно работает.

Чтобы установить то, что я не смог найти в Неофициальные двоичные файлы Windows Кристофа Гольке для пакетов расширения Python , я бы сделал следующее:

  1. Измените порядок переменных окружения в моих расширенных системных настройках, чтобы сначала отображалась предпочтительная версия Python, например, убедитесь, что в Path и PYTHONPATH, C:\Python27-32;C:\Python27-32\Scripts; отображается до C:\Python27-64;C:\Python27-64\Scripts;, если вы пытаетесь установить что-то 32-битное.
  2. Перейдите в каталог, содержащий файл setup.py, который вы хотите установить
  3. Запустить 32-битный интерпретатор, т.е. запустить C:\Python27-32\python.exe в командной строке
  4. Тип import sys, os
  5. Тип sys.path = [r'C:\Python27-32',r'C:\Python27-32\Lib\site-packages'] + sys.path
  6. Тип os.system( r'C:\Python27-32\python.exe setup.py install' )

И это должно сработать, надеюсь.

1 голос
/ 18 февраля 2012

Virtualenv может помочь здесь. Лично я для установки использую папку не по умолчанию, как у меня на моей машине есть c: \ Python27-64 и c: \ Python32-64 и c: \ python26-32.

Тогда в моем пути есть файлы bat, такие как py26.bat и py27.bat и py32.bat, но иногда это не красиво. Кроме того, некоторые пакеты с установщиками действительно пытаются найти что-то в реестре, и я могу заставить их установить только один экземпляр.

Очевидно, у меня нет идеального решения.

...