2008-09-18 2 views
0

На моем рабочем столе я написал небольшое приложение Pylons, которое подключается к Oracle. Теперь я пытаюсь развернуть его на моем сервере, на котором работает Win2k3 x64. (Мой рабочий стол - 32-разрядная версия XP). Установка Oracle на сервере также является 64-разрядной.Python чтение Oracle путь

У меня возникали ошибки при загрузке DLI OCI, поэтому я установил 32-разрядный клиент в C:\oracle32.

Если я добавлю это в переменную окружения PATH, она отлично работает. Но я также хочу запустить приложение Pylons в качестве сервиса (using this recipe) и не хочу ставить эту 32-битную библиотеку на путь для всех других приложений.

Я пробовал использовать sys.path.append("C:\\oracle32\\bin"), но это не работает.

ответ

2

sys.path - внутреннее представление Python PYTHONPATH, оно звучит для меня так же, как вы хотите изменить PATH.

Я не уверен, что это будет работать, но вы можете попробовать:

import os 
os.environ['PATH'] += os.pathsep + "C:\\oracle32\\bin" 
+0

r'C: \ oracle32 \ bin 'может избежать некоторых угасающих головных болей. – 2008-09-18 19:38:52

0

Вам нужно добавить в C: \ Oracle32 \ каталог бен переменной PATH вашей среды, прежде чем выполнить питона. Exe.
В Linux мне нужно настроить переменную LD_LIBRARY_PATH по тем же причинам, чтобы найти библиотеки Oracle, прежде чем вызывать python. Я использую сценарии оболочки оболочки, которые устанавливают переменную, а затем вызывают Python.
В вашем случае, возможно, вы можете вызвать в запуске службы сценарий .cmd или .vbs, который устанавливает переменную PATH, а затем вызывает python.exe с вашим .py-скриптом.

Надеюсь, это поможет!

0

Если ваше приложение Python запускается в 64-разрядном пространстве, вам потребуется получить доступ к 64-разрядной установке oci.dll Oracle, а не 32-разрядной версии. Как правило, вы должны обновить системный путь, чтобы включить соответствующий каталог Oracle Home bin, прежде чем запускать скрипт. Решение также может варьироваться в зависимости от того, какой компонент вы используете для доступа к Oracle с Python.

Смежные вопросы