错误如下:

E:\pargram>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named 'cx_Oracle'

执行过

  pip install cx_Oracle

也试过离线包

E:\pargram>pip install cx_Oracle-7.1.3-cp35-cp35m-win_amd64.whl
Processing e:\pargram\cx_oracle-7.1.3-cp35-cp35m-win_amd64.whl
Installing collected packages: cx-Oracle
Successfully installed cx-Oracle-7.1.3

还是报错。

最后只能选择
安装cx_Oracle-7.1.3.tar.gz
执行python setup.py install
报错如下:

cxoModule.obj : warning LNK4197: export 'PyInit_cx_Oracle' specified multiple times; 

using first specification   Creating library build\temp.win-amd64-3.5\Release\src\cx_Oracle.cp35-win_amd64.lib 

and object build\temp.win-amd64-3.5

\Release\src\cx_Oracle.cp35-win_amd64.expGenerating codeFinished generating code

LINK : fatal error LNK1158: cannot run 'rc.exe'

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64

\\link.exe' failed with exit status 1158

解决办法:
把目录C:\Program Files (x86)\Windows Kits\8.1\bin\x86目录下rc.exe(还是不行加上rcdll.dll)
拷贝到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin目录下。
在执行python setup.py install后可以了。

可是import cx_Oracle

D:\>pythonPython 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13)

 [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for 

more information.

>>> import cx_Oracle

但是

>>> conn=cx_Oracle.connect('scott/scott@192.168.48.102:1521/orcl')

Traceback (most recent call last):  File "<stdin>", line 1, in <module>cx_Oracle.DatabaseError: 

Error while trying to retrieve text for error ORA-01804
>>>

发现应该是Oracle client问题。

安装了oracle11g client终于成功了

简单验证:

E:\>python

Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import cx_Oracle

>>> conn=cx_Oracle.connect('scott/scott@192.168.48.102:1521/orcl')

>>> curs=conn.cursor()

>>> sql='select * from dept'

>>> curs.execute (sql)

>>> row=curs.fetchone()

>>> print(row[0])

10

>>> print(row[1])

ACCOUNTING

>>> curs.close()

>>> conn.close()

ImportError: No module named 'cx_Oracle'问题处理过程记录,安装python cx_Oracle库的更多相关文章

  1. ImportError: No module named tensorflow.compat.v1 忽略已经安装的某个包版本 忽略已安装版本

    ImportError: No module named tensorflow.compat.v1 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声 ...

  2. 关于win系统下Anaconda与TensorFlow的安装相关事宜以及错误:ImportError: No module named 'tensorflow'的解决

    1.安装TensorFlow之前应该先安装Anaconda,不需要安装python,否则会出问题,我安装的版本是Anaconda3-4.2.0-Windows-x86_64,在这个链接上可以找到--h ...

  3. pip 安装使用 ImportError: No module named setuptools 解决方法

    安装过程详见这篇博客: http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/ 安装后运行到:python setup.py ins ...

  4. ImportError: No module named _sqlite3 - 代码分享

    ImportError: No module named _sqlite3 - 代码分享 ImportError: No module named _sqlite3 作者:86市场网       点击 ...

  5. centos7下报错: import requests ImportError: No module named requests

    在网上扒了一个python脚本,在centos7上执行的时候报错: import requestsImportError: No module named requests 原因是:requests是 ...

  6. 解决 ImportError: No module named _internal

    参考: My pip is broken. _internal module cannot be imported. #5253 解决 ImportError: No module named _in ...

  7. Python ImportError: No module named 'requests'的解决方法

    import requests报错 Python ImportError: No module named 'requests'可能是requests没有安装 安装流程 1.cmd 2.cd D:\p ...

  8. ImportError: No module named simplejson.scanner

    一.出现ImportError: No module named simplejson.scanner,是没有安装simplejson,安装一下就好了. 安装指令:python setup.py in ...

  9. ImportError: No module named _tkinter on macos

    MAC OS 10.11.6 lMacBook-Pro:~ xiaomilbq$ python Python 2.7.14 (default, Sep 22 2017, 00:05:22) [GCC ...

  10. 问题解决:ImportError: No module named tensorflow

    环境: python3.5.3+pycharm2018.2EAP 问题描述: Pycharm编译报错 ImportError: No module named tensorflow 解决方法: ten ...

随机推荐

  1. 开启远程XUL

    参考:https://developer.mozilla.org/zh-cn/Remote_XUL firefox自4.0起(2011年4月版本,目前最新版为13.0),开始禁用远程XUL,这阻碍了初 ...

  2. python 并发之线程

    一.什么是线程 #指的是一条流水线的工作过程,关键的一句话:一个进程内最少自带一个线程,其实进程根本不能执行,进程不是执行单位,是资源的单位,分配资源的单位 #线程才是执行单位 #进程:做手机屏幕的工 ...

  3. 复习一下jdbc原始封装

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  4. 记忆化搜索(DFS)--How many ways

    How many ways 这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量.2. ...

  5. laravel 5.5 登录验证码 captcha 引入

    https://blog.csdn.net/u013372487/article/details/79461730 前提: 开启Laravel 的用户认证功能 1.安装 Captcha 安装 Capt ...

  6. adblock自定义规则

    click.admaster.cn/* cm.baidu.com/* cm.pos.baidu.com/* cpro.baidu.com/* cpro.baidustatic.com/* dup.ba ...

  7. laravel5 怎么获取数组形式的数据

    当构建 JSON API 时,您可能常常需要把模型和关联对象转换成数组或JSON.所以Eloquent里已经包含了这些方法.要把模型和已载入的关联对象转成数组,可以使用 toArray方法: $use ...

  8. SuperSocket通过 SessionID 获取 Session

    前面提到过,如果你获取了连接的 Session 实例,你就可以通过 "Send()" 方法向客户端发送数据.但是在某些情况下,你无法直接获取 Session 实例. SuperSo ...

  9. python深浅copy和赋值

    Python直接赋值,浅copy和深copy的比较 基于引用和对象(python引用和对象分离) 总结: 直接赋值:a = b -->a,b两个引用指向相同的对象 浅copy:a为b的copy ...

  10. 【转载】Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...