Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2009 09:07:06

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

OS: ubuntu 7.1

выполняю следующие действия:

import os
print os.environ #здесь видим что ключ LD_LIBRARY_PATH отсутствует.
os.environ['LD_LIBRARY_PATH']=['/home/ORA']
print os.environ #здесь он уже присутствует, и соответствует заданому
import cx_Oracle
ошибка на шаге import cx_Oracle, libclntsh.so.10.1: cannot open shared object file: No such file or directory
если делаю export LD_LIBRARY_PATH=/home/ORA а потом запускаю скрипт..то все ок..в чем может быть проблема?



Офлайн

#2 Апрель 15, 2009 11:19:36

bobry
От:
Зарегистрирован: 2008-08-03
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

вооще такие вещи делаются через sys.path

import sys
sys.path.appen('/home/ORA')
import cx_Oracle



Офлайн

#3 Апрель 15, 2009 12:30:31

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

знаю что так тоже можно..но это не помогло…все тоже самое. если сделать print sys.path то мой путь там есть..а ошибка таже.. еще выяснил что эта проблема возникает только с cx_Oracle



Отредактировано (Апрель 15, 2009 12:49:46)

Офлайн

#4 Апрель 25, 2009 01:09:58

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

каким образом можно добавить переменную окружения…так чтобы небыло необходимости делать эту операцию вновь..добавление записи в соответствующий файл не катит…OS: Debian, Kubuntu



Офлайн

#5 Апрель 26, 2009 09:52:46

r1s
От:
Зарегистрирован: 2008-09-21
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

goblin_maks
каким образом можно добавить переменную окружения…так чтобы небыло необходимости делать эту операцию вновь..добавление записи в соответствующий файл не катит…OS: Debian, Kubuntu
Соответствующий файл это какой? Переменные окружения можно задать в /etc/profile



Офлайн

#6 Апрель 27, 2009 09:50:39

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

Пропиши путь в ld.conf.



Офлайн

#7 Сен. 8, 2011 10:10:03

inzem
От:
Зарегистрирован: 2010-07-18
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

похожая беда, запускаю django с cx_oracle через wsgi.
export ORACLE_BASE=/usr/lib/oracle
export ORACLE_HOME=/usr/lib/oracle/10.1.0.5/client/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
Если запускаю из консоли с этими переменными, то все хорошо запускую, если без них, то ошибки.
File “/usr/local/lib/python2.6/dist-packages/django/db/backends/oracle/base.py”, line 46, in <module>
raise ImproperlyConfigured(“Error loading cx_Oracle module: %s” % e)
ImproperlyConfigured: Error loading cx_Oracle module: libclntsh.so.10.1: cannot open shared object file: No such file or director

libclntsh.so.10.1 находится в /usr/lib/oracle/10.1.0.5/client/lib/lib

Когда django запускаешь через developer сервер, то переменные окружения,которые были определены в консоли скрипту передаются. Когда через апач, то он очищает все переменные перед запуском скрипта.

в sys.path добавлял, что еще сделать не понимаю.
ld.conf у себя не нашел.
os.environ = ‘/usr/lib/oracle/10.1.0.5/client/lib/lib:/lib:/usr/lib’
os.putenv('LD_LIBRARY_PATH', ‘/usr/lib/oracle/10.1.0.5/client/lib/lib:/lib:/usr/lib’)
Делал, не помогает.
Посоветуйте, что нужно сделать?



Офлайн

#8 Сен. 8, 2011 11:09:49

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

проблема с os.environ

Пути к библиотекам в линуксе настраиваются здесь: /etc/ld.so.conf или в /etc/ld.so.conf.d/*.conf

Еще как вариант - собрать модуль cx_Oracle с установленной переменной FORCE_RPATH.



Офлайн

#9 Сен. 8, 2011 11:37:20

inzem
От:
Зарегистрирован: 2010-07-18
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

Путь прописал, все равно не работает.



Офлайн

#10 Сен. 8, 2011 11:45:12

kublo
От:
Зарегистрирован: 2011-04-08
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с os.environ

А если тупо os.system('export ORACLE_BASE=/usr/lib/oracle') и т. д. ?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version