Python读取Oracle路径

Python读取Oracle路径,python,oracle,pylons,cx-oracle,Python,Oracle,Pylons,Cx Oracle,在我的桌面上,我编写了一个连接到Oracle的小Pylons应用程序。我现在正试图将其部署到运行Win2k3 x64的服务器上。(我的桌面是32位XP)服务器上的Oracle安装也是64位的 我在加载OCI dll时出错,因此我将32位客户端安装到C:\oracle32 如果我将其添加到PATH环境变量中,效果会很好。但我也希望将Pylons应用程序作为服务运行(),不希望将此32位库放在所有其他应用程序的路径上 我尝试使用sys.path.append(“C:\\oracle32\\bin”)

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

我在加载OCI dll时出错,因此我将32位客户端安装到
C:\oracle32

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


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

sys.path是python对PYTHONPATH的内部表示,我觉得您好像想修改路径

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

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

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


我希望这有帮助

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

r'C:\oracle32\bin'可能会避免一些令人头痛的问题。是的,我认为PYTHONPATH是特定于Python的。这个答案非常有效。我只需要确保在初始化模型之前添加了行。