天天看点

Python插件cx_Oracle的安装

只需两步。

1.去下载个正确版本的exe文件并安装

点击这里

并不需要如下做法

C:\Users\Tian\AppData\Local\Programs\Python\Python35\Scripts>pip install cx_Oracle
Collecting cx_Oracle
  Using cached cx_Oracle-5.3.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\Tian\AppData\Local\Temp\pip-build-axe3mvs8\cx-Oracle\setup.py", line 190, in <module>
        raise DistutilsSetupError(message)
    distutils.errors.DistutilsSetupError: cannot locate Oracle include files in D:\oracle\instantclient_11_2\

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Tian\AppData\Local\Temp\pip-build-axe3mvs8\cx-Oracle\
           

2.安装instant_client

点击这里,下载正确的版本。

Python插件cx_Oracle的安装
Python插件cx_Oracle的安装

把本文件夹中所有的dll文件复制到python的site-packages文件夹下

可以解决如下问题:

>>> db = cx_Oracle.connect('test', 'test', '40.1.10.15:1521/tian')
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    db = cx_Oracle.connect('test', 'test', '40.1.10.15:1521/tian')
cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle
           

3.如下问题的原因是oci.dll版本不对所导致的,请回到第二步重新下载正确版本的instant_client:

>>> import cx_Oracle
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import cx_Oracle
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
           

参考文档:

http://blog.csdn.net/u013600225/article/details/51168607

http://frenchmay.iteye.com/blog/1060631