cx_Oracle.so: неопределенный символ: PyUnicodeUCS2_AsEncodedString - PullRequest
6 голосов
/ 31 октября 2011

У меня проблемы с установкой cx_oracle. Я установил oracle instantclient и cx_oracle. Установлены пакеты oracle. Я получаю эту ошибку при импорте cx_oracle. Я использую Ubuntu 11.10 в качестве хоста.

import cx_Oracle
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: /usr/lib/python2.7/dist-packages/cx_Oracle.so: undefined symbol:PyUnicodeUCS2_AsEncodedString

любой знает, как решить эту проблему

ура

Ответы [ 2 ]

3 голосов
/ 05 ноября 2011

Скорее всего, ваша установка Python использует другой формат Unicode (ucs4) и cx_oracle был скомпилирован с помощью ucs2.

Вы можете установить cx_Oracle 5.0.4 с флагом unicode.Это сработало для меня, но есть некоторая ошибка: странная ошибка Oracle: "неверный формат текста"

Или скомпилируйте последнюю версию cx_oracle самостоятельно.http://mrpolo.com.ve/?p=178 (это какой-то язык, который я не знаю, но это помогло)

1 голос
/ 30 июля 2012

Я дополнение к ответу @froZieglers. Когда я зашел на страницу cx_Oracle, там не было "... Unicode ..." - Вариант для загрузки больше. К счастью, его сборка из исходных текстов не была большой проблемой, тогда я ожидал.

Вот краткая информация о том, что я сделал (Ubuntu 12.04 LTS, 64bit):

  • установите соответствующий клиент Oracle XE rpm с инопланетянином (11g, 64bit и т. Д.)
    • он устанавливает /u01/..., мне, конечно, тоже пришлось настроить .profile.
  • скачать cx_Oracle source-tar , untar, cd into
    • Я выполнил команду ln -s на so-lib в Oracle, как сказано в BUILD текстовом файле
  • Установка Заголовки Python с sudo aptitude install python-dev
  • Компиляция с python setup.py build
  • Установить с sudo python setup.by install
    • Первая попытка не удалась с distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation
    • исправлено setup.py с настройкой userOracleHome = "/u01/app/oracle/product/11.2.0/xe" после os.getenv("ORACLE_HOME")
    • sudo python setup.by install тогда работал
  • Проверка с python -c 'import cx_Oracle' выполнена успешно.
...