Python 3.6,cx_oracle用于64位窗口上的11g客户端

时间:2017-03-16 13:34:34

标签: windows oracle11g 64-bit cx-oracle python-3.6

我是Python新手。在过去的几天里,我尝试使用Anaconda3(3.6)和11g Oracle客户端在64位Windows 8.1上运行cx_oracle。

最后我设法使它工作,但它非常麻烦。 Anaconda似乎是一个广泛使用的发行版,Windows是一个常见的操作系统,而cx_oracle windows二进制文件来自python.org,所以以下真的可以做到这一点吗?!

  1. 我无法使用Gholke's unofficial windows binaries因为它必须适用于11g客户端。我只找到了12c的包裹。

  2. 我无法使Visual C ++构建工具2015(14.0)(没有足够的代表链接)工作,得到一个很长的列表:    cx_Oracle.obj : error LNK2001 :unresolved external symbol OCIxxxxxx.

    可能是我在Oracle客户端丢失了一些东西?

  3. 最后,工作原理是官方二进制文件https://pypi.python.org/pypi/cx_Oracle,但不是开箱即用的:

    一个。以管理员身份运行cx_Oracle-5.3-11g.win-amd64-py3.6.exe我得到一个提示:         Python version 3.6-32 required, which is not found in the registry.

    湾然后我必须修改HKEY_LOCAL_MACHINE > SOFTWARE > Python > PythonCore > 3.6,将键值从3.6更改为3.6-32。现在安装程序允许我选择python版本。

    回顾这些描述似乎很简单。但是,花了很长时间才发现并且我没有发现混乱使用regedit.exe。

    我希望那里有人有更好的解决方案, 提前谢谢你:)

1 个答案:

答案 0 :(得分:2)

关于cx_Oracle 5.3版本的官方二进制文件:这是一个已经解决的已知问题。

我也在研究分配轮子而不是可执行安装程序的方法,以避免这种长期。