Я использую 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-битной форме. Я все равно продолжаю пробовать, но во время компиляции выдает ошибку об одной из библиотек Oracle, которые я связываю с неверным форматом файла.
На данный момент у меня есть много вариантов, и я не уверен, где разместить свои усилия:
Я мог бы загрузить 64-битный MinGW из http://sourceforge.net/projects/mingw-w64/ и попробовать использовать его, за исключением того, что он, кажется, доступен только в качестве исходного кода, поэтому мне придется скомпилировать компилятор, возможно, с использованием Visual Studio 2005
Я мог бы попытаться использовать 32-разрядную сборку Python x86, а затем загрузить Oracle Instant Client SDK из http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html, а затем использовать ее для сборки cx_Oracle. Возможно, мне придется настроить клиент ORACLE_HOME на клиент, чтобы он не пытался связываться с 64-битными серверными DLL, но похоже, что он может работать.
Я мог бы попытаться скомпилировать сам Python из исходного кода, используя Visual Studio 2005, чтобы затем я мог использовать Visual Studio 2005 для сборки cx_Oracle и не беспокоиться о проблемах двоичной совместимости. Я много раз компилировал Python из исходного кода для Linux, и у меня никогда не было проблем, поэтому я хотел бы верить, что в Windows все так же просто.
Я мог бы попытаться выяснить, как связать Visual Studio 2005 с нужными DLL и, таким образом, создать совместимые двоичные файлы таким образом, не требуя Visual Studio 2003. Интуитивно кажется, что Visual Studio должна иметь возможность создавать совместимые двоичные файлы. с более старыми версиями, но почти весь мой опыт работы с компилятором связан с gcc, так что я не совсем знаю.
Я просто не уверен, куда направить свои усилия. У кого-нибудь есть предложения о том, куда идти дальше? Я могу скопировать / вставить некоторые конкретные сообщения об ошибках, которые я получил, если это будет полезно.
Мне бы очень хотелось услышать от всех, кто когда-либо заставлял cx_Oracle работать на 64-битной версии Windows для Itanium - я не могу быть первым, кто попробует это.