CX Oracle.Итак: неопределенный символ: PyUnicodeUCS2 AsEncodedString
Я имею issiues установка cx_oracle. Я установил oracle instantclient и cx_oracle oracle packages, установленные я получаю эту ошибку при импорте 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 ответов
скорее всего, ваша установка Python использует другой формат unicode (ucs4), а cx_oracle был скомпилирован с ucs2.
вы можете установить cx_Oracle 5.0.4 с флагом unicode. Это сработало для меня, но есть какая-то ошибка: странная ошибка Oracle:"недопустимый текст формата"
или скомпилировать последний cx_oracle себя. http://mrpolo.com.ve/?p=178 (его какой-то язык я не знаю, но это помогло)
я дополнение к @froZieglers ответ. Когда я пришел по cx_Oracle
страница не существует "...Юникод..."- Вариант для загрузки больше. К счастью, компиляция его из источника не была большой проблемой, тогда я ожидал.
вот резюме о том, что я сделал (Ubuntu 12.04 LTS, 64bit):
- установить правильно Oracle XE client rpm С alien (11g, 64bit и т. д...)
- он устанавливает th
/u01/...
, Я должен был настроить.profile
тоже курс.
- он устанавливает th
-
скачать источник cx_Oracle-tar, унтар, кд в
- Я
ln -s
команда на so-lib на Oracle, как сказано вBUILD
текстовый файл
- Я
- установить заголовки Python С
sudo aptitude install python-dev
-
Compile С
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")
- работала
- сначала попробуй ошибка с
-
Регистрация С
python -c 'import cx_Oracle'
удалось.