Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 8, 2011 13:13:43

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

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

os.system тоже не работает



Офлайн

#2 Сен. 8, 2011 13:18:05

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

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

Хотелось бы понять как работает, не понятно почему модуль не хочет подхватывать переменную окружения, которая устанавливается из python
Это ошибка
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)

кусок base.py, на котором ошибка

try:
import cx_Oracle as Database
except ImportError, e:
from django.core.exceptions import ImproperlyConfigured
raise ImproperlyConfigured(“Error loading cx_Oracle module: %s” % e)

весь cx_Oracle.py

def __bootstrap__():
global __bootstrap__, __loader__, __file__
import sys, pkg_resources, imp
__file__ = pkg_resources.resource_filename(__name__,'cx_Oracle.so')
__loader__ = None; del __bootstrap__, __loader__
imp.load_dynamic(__name__,__file__)
__bootstrap__()



Офлайн

#3 Сен. 8, 2011 13:39:56

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

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

os.putenv вызывается перед import cx_Oracle?
Я бы, наверное, сделал симлинки из оракла в /usr/lib и успокоился.



Офлайн

#4 Сен. 8, 2011 14:30:35

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

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

inzem
Путь прописал, все равно не работает.
Чтобы изменения перечитались, нужно вызывать ldconfig.

Проверить из командной строки можно так:
unset LD_LIBRARY_PATH
ldd /путь/cx_Oracle.so

kublo
А если тупо os.system('export ORACLE_BASE=/usr/lib/oracle') и т. д. ?
Такие переменные будут только во временном shell-е, а вызывающий процесс их не увидит.



Офлайн

#5 Сен. 8, 2011 16:23:53

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

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

вот нашел ответ
В /etc/init.d/apache2
ENV=“env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin ORACLE_HOME=/usr/lib/oracle/10.1.0.5/client/lib ORACLE_BASE=/usr/lib/oracle LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.5/client/lib/lib:/lib:/usr/lib”
И так заработало.
С ldconfig попробую.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version