Как мне получить cx_Oracle для работы с 64-разрядными версиями Itanium Windows?

Я запускаю Windows Server 2003 на 64-разрядном сервере Itanium, который также работает с 64-разрядным Oracle 10.2, и я хотел бы установить cx_Oracle для Python 2.5. Я использовал cx_Oracle много раз как в Windows, так и в Linux, и я также скомпилировал его ранее в 32-разрядных версиях этих платформ, но я никогда не пробовал компиляцию IA64.

Ни один из двоичных построений cx_Oracle на http://cx-oracle.sourceforge.net/ не является 64-битным, и я получаю сообщение об ошибке после установки любого из них при попытке запустить import cx_Oracle поэтому я считаю, что нужно сделать, чтобы скомпилировать это из источника.

При запуске python setup.py build я получаю ошибку, которую Python создавал с помощью Visual Studio 2003, и что мне нужно что-то, что может создавать совместимые двоичные файлы. У меня есть Visual Studio 2005, которая, по-видимому, не соответствует законопроекту из-за ссылки на другую версию стандартной библиотеки C и, вероятно, по другим причинам. К сожалению, Visual Studio 2003 больше не доступна для загрузки, и я не уверен, где ее получить.

Поэтому я загружаю MinGW из http://sourceforge.net/projects/mingw/files/, но это также доступно только в 32-битной форме. Я все же даю ему попробовать, но во время компиляции об одной из DLL-библиотек Oracle я связываюсь с ошибкой, связанной с недопустимым файловым форматом.

На данный момент у меня есть много вариантов, и я не уверен, где поместить свои усилия:

  1. Я мог бы загрузить 64-битный MinGW из http://sourceforge.net/projects/mingw-w64/ и попытаться использовать это, за исключением того, что он доступен только как источник, поэтому мне пришлось бы скомпилировать компилятор, возможно, используя Visual Studio 2005.

  2. Я мог бы попробовать использовать 32-битную сборку x86 на Python, а затем загрузить SDK Oracle Instant Client с сайта http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html, а затем использовать его для Создаем cx_Oracle. Я, вероятно, должен был бы установить ORACLE_HOME на клиент, чтобы он не пытался связываться с 64-битными серверными DLL, но похоже, что это может сработать.

  3. Я мог бы попробовать скомпилировать сам Python из исходного кода, используя Visual Studio 2005, чтобы затем использовать Visual Studio 2005 для сборки cx_Oracle и не беспокоиться о проблемах с двоичной совместимостью. Я скомпилировал Python из источника много раз в Linux и никогда не испытывал никаких проблем, поэтому я хотел бы поверить, что это так же просто в Windows.

  4. Я мог бы попытаться выяснить, как сделать ссылку Visual Studio 2005 против правильных DLL и таким образом создать совместимые двоичные файлы таким образом, не требуя Visual Studio 2003. Интуитивно кажется, что Visual Studio должна иметь возможность создавать совместимые двоичные файлы с более старыми версиями, но почти весь опыт моего компилятора связан с gcc, поэтому я действительно не знаю.

Я просто не уверен, куда направлять свои усилия. Кто-нибудь есть предложения о том, куда идти дальше? Я могу скопировать / вставить некоторые конкретные сообщения об ошибках, которые я получил, если это будет полезно.

Мне особенно хотелось бы услышать от тех, кто когда-либо получал cx_Oracle для работы с 64-битной версией Windows Itanium – я не могу первыми попробовать это.

2 Solutions collect form web for “Как мне получить cx_Oracle для работы с 64-разрядными версиями Itanium Windows?”

Я закончил с вариантом № 2: я загрузил 32-битный Oracle Instant Client, а затем скомпилировал cx_Oracle для 32-разрядного Python с мгновенным клиентом. Итак, все, что связано с этим, – 32-битное, и я просто не использую исполняемые файлы IA64-bit, и это работает отлично.

Если бы у меня был компилятор IA64, я бы попробовал вариант №3, но оказалось, что Visual Studio Pro не поддерживает платформу IA64, и нам нужно потратить много денег, чтобы перейти на все, что выше Pro.

Я прочитал это вчера и не удивился, увидев, что никто не ответил. Это очень конкретный и сложный вопрос. Хотя у меня нет прямого опыта работы со многими инструментами, с которыми вы имеете дело, я столкнулся с проблемами, связанными с incompatabilities с разными компиляторами и двоичными файлами. Для чего его ценность 3. звучит как ваш лучший выбор.

  • Наблюдение за изменениями файлов в каталоге
  • Python: как убить дочерний процесс (ы), когда родитель умирает?
  • Избавление от консоли Python в wxPython под Windows
  • Найти путь в Windows относительно другого
  • Как я могу остановить csv.DictWriter.writerows Python от добавления пустых строк между строками в Windows?
  • Запустить скрипт Python без консоли Windows
  • Использование нескольких версий Python
  • Какая самая популярная библиотека GUI для Python в Windows?
  • Python / Tkinter: мышь перетаскивает окно без границ, например. overridedirect (1)
  • Как прервать подпроцессы Python в Windows при использовании API Python C?
  • Могу ли я управлять архитектурой (32 бит против 64 бит) при создании исполняемого файла pyinstaller?
  • Python - лучший язык программирования в мире.