Python阅读Oracle路径

时间:2008-09-18 19:19:44

标签: python oracle pylons cx-oracle

在我的桌面上,我编写了一个连接到Oracle的小型Pylons应用程序。我现在正尝试将其部署到运行Win2k3 x64的服务器上。 (我的桌面是32位XP)服务器上的Oracle安装也是64位。

我收到有关加载OCI dll的错误,因此我将32位客户端安装到C:\oracle32

如果我将其添加到PATH环境变量中,则效果很好。但我也希望将Pylons应用程序作为服务(using this recipe)运行,并且不希望将此32位库放在所有其他应用程序的路径上。

我尝试使用sys.path.append("C:\\oracle32\\bin"),但这似乎不起作用。

3 个答案:

答案 0 :(得分:2)

sys.path是python的PYTHONPATH的内部表示,听起来像你想要修改PATH。

我不确定这会有效,但您可以尝试:

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

答案 1 :(得分:0)

在执行python.exe之前,需要将c:\ Oracle32 \ bin目录附加到环境的PATH变量中。
在Linux中,我需要设置LD_LIBRARY_PATH变量,出于类似的原因,在调用python之前找到Oracle库。我使用包装器shell脚本来设置变量,然后调用Python 在您的情况下,也许您可​​以在服务启动时调用设置PATH变量的.cmd或.vbs脚本,然后使用.py脚本调用python.exe。

我希望这有帮助!

答案 2 :(得分:0)

如果您的Python应用程序在64位空间中运行,则需要访问Oracle的oci.dll的64位安装,而不是32位版本。通常,在运行脚本之前,您将更新系统路径以包含相应的Oracle Home bin目录。解决方案也可能因您从Python访问Oracle所使用的组件而异。