Python x64 для Windows 7 — различия между версиями

Материал из CustisWiki

Перейти к: навигация, поиск
м
 
м (1 версия)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 54: Строка 54:
 
== Открытые проблемы ==
 
== Открытые проблемы ==
  
Если кто знает, как их решить - свяжитесь со [http://belonesox.moikrug.ru мной].
+
Далее открые проблемы — если кто знает, как их решить - свяжитесь со [http://belonesox.moikrug.ru мной].
 
Заранее благодарен.
 
Заранее благодарен.
  
Строка 65: Строка 65:
  
 
Практически, платформа <tt>x64</tt> у меня появилась, но для конкретных проектов в интерфейсе ее выбрать нельзя.
 
Практически, платформа <tt>x64</tt> у меня появилась, но для конкретных проектов в интерфейсе ее выбрать нельзя.
 +
 +
Зачем нужно учить компилировать 64 именно студию?
 +
Ну например, чтобы собрать VTK — там используется CMAKE, который геренирует не мейк файлы,
 +
а проекты-решения (vcproj/sln) для Студии.
  
 
== Ссылки ==
 
== Ссылки ==

Текущая версия на 03:01, 5 августа 2010

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

Однако те, кто расслабился и привык инсталлировать все расширения через easy_install ждет разочарование — нет готовых бинарников, увы (на лето 2010).

Что делать? Ну, совсем быстрое решение — воспользоваться благотворительностью добрых людей и поставить таки собранные бинарники под 64 бита, и опубликованные тут http://www.lfd.uci.edu/~gohlke/pythonlibs/

Это кстати может быть полезно, даже если любите компилировать расширения — ведь есть полно расширений, требующих для своей компиляции фортран, фиг знает какие библиотеки, и сборка которых это еще тот квест.

Но все же, большинство расширений скомпилируются и встанут, только нужно им правильно настроить C-компилятор.

Правильный компилятор — родной для питона 2.6 и 2.7 с python.org это Microsoft Visual C++ 2008.

Если вы счастливчик, и у вас он стоит и настроен, то скорее все будет ОК.

Но что делать тем, кто не собирается его покупать? Тут требуется пройти небольшой квест.

  • Установите Microsoft Visual C++ 2008 Express Edition (именно 2008, не 2010).
  • Пропишите путь C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC в переменную PATH.

Caution.svg Ни в коем случае не добавляйте этот путь в кавычках! Без кавычек!

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat

с содержимым

call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /Release
  • Поправьте файл C:\Python27\Lib\distutils\msvc9compiler.py

в районе 648 строчки, после строк

            temp_manifest = os.path.join(
                    build_temp,
                    os.path.basename(output_filename) + ".manifest")
            ld_args.append('/MANIFESTFILE:' + temp_manifest)

добавьте строчку

            ld_args.append('/MANIFEST')

Теоретически, теперь должно компилироваться. Возможные проблемы (с чем столкнулся я) будут ниже.

Возможные проблемы

Кавычки в PATH

Вы получите идиотское сообщение «\Microsoft was unexpected at this time». Оно на самом деле означает, что у вас в PATH указан каталог в кавычках. Например, вы продвинутый пользователь и редактируете PATH через утилиту командрой строки pathman, и тогда все каталоги с пробелами надо давать утилите с кавычками. От этого у батников визуалстудии едет крыша и мы имеем то, что имеем.


Открытые проблемы

Далее открые проблемы — если кто знает, как их решить - свяжитесь со мной. Заранее благодарен.

Научить компилировать Microsoft Visual Studio Express под x64

Теоретически есть инструкции:

Практически, платформа x64 у меня появилась, но для конкретных проектов в интерфейсе ее выбрать нельзя.

Зачем нужно учить компилировать 64 именно студию? Ну например, чтобы собрать VTK — там используется CMAKE, который геренирует не мейк файлы, а проекты-решения (vcproj/sln) для Студии.

Ссылки



Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».