Форум сайта python.su
os.system тоже не работает
Офлайн
Хотелось бы понять как работает, не понятно почему модуль не хочет подхватывать переменную окружения, которая устанавливается из 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__()
Офлайн
os.putenv вызывается перед import cx_Oracle?
Я бы, наверное, сделал симлинки из оракла в /usr/lib и успокоился.
Офлайн
inzemЧтобы изменения перечитались, нужно вызывать ldconfig.
Путь прописал, все равно не работает.
kubloТакие переменные будут только во временном shell-е, а вызывающий процесс их не увидит.
А если тупо os.system('export ORACLE_BASE=/usr/lib/oracle') и т. д. ?
Офлайн
вот нашел ответ
В /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 попробую.
Офлайн