1

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

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

如果我将它添加到PATH环境变量中,效果很好。但我也想将 Pylons 应用程序作为服务运行(使用这个配方),并且不想将这个 32 位库放在所有其他应用程序的路径上。

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

4

3 回答 3

3

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

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

import os
os.environ['PATH'] += os.pathsep + "C:\\oracle32\\bin"
于 2008-09-18T19:26:04.367 回答
0

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

于 2008-09-27T02:21:39.943 回答
0

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

我希望这有帮助!

于 2008-09-24T02:58:07.503 回答