Python:import cx\u Oracle ImportError:没有名为cx\u Oracle error的模块
我尝试用.py编写一个用于oracle连接的脚本:Python:import cx\u Oracle ImportError:没有名为cx\u Oracle error的模块,python,Python,我尝试用.py编写一个用于oracle连接的脚本: #!/usr/bin/python import cx_Oracle connstr='username/pwd@database' conn = cx_Oracle.connect(connstr) curs = conn.cursor() curs.execute('select * from table1;') print curs.description for row in curs: print row conn.clo
#!/usr/bin/python
import cx_Oracle
connstr='username/pwd@database'
conn = cx_Oracle.connect(connstr)
curs = conn.cursor()
curs.execute('select * from table1;')
print curs.description
for row in curs:
print row
conn.close()
我得到以下错误:
Traceback (most recent call last):
File "test_SQLPython.py", line 3, in ?
import cx_Oracle
ImportError: No module named cx_Oracle
如果有任何帮助,我们将不胜感激?
谢谢。要从python访问Oracle,您还需要。模块必须位于系统python路径中,或者必须将python路径设置为适当的路径。我刚刚遇到了同样的问题。首先,您需要为您的操作系统安装适当的Oracle客户端。在我的例子中,要在Ubuntu x64上安装它,我遵循以下说明 然后,您需要安装cx_Oracle,这是一个连接到Oracle客户端的Python模块。同样,假设你在64位机器上运行Ubuntu,你应该输入一个shell:
wget -c http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-5.0.4-11g-unicode-py27-1.x86_64.rpm
sudo alien -i cx_Oracle-5.0.4-11g-unicode-py27-1.x86_64.rpm
如果您已经安装了Python 2.7.x,这将适用于Oracle 11g,但是您可以在中下载不同的cx\U Oracle版本
要检查您的Python版本,请键入终端:
python -V
我希望这能有所帮助我也遇到过类似的问题,你必须确保:
cmd
),设置2个与您的位置匹配的变量-例如:
set TNS\u ADMIN=C:\instant\u client\instantclient\u 11\u 2
set ORACLE\u HOME=C:\instant\u client\instantclient\u 11\u 2
您可以在此处获得安装程序:未知92答案帮助了我(在windows上)。 请注意,所有版本都必须适合 我已经为我下载了文件cx_Oracle-5.2.1-12c.win-amd64-py3.5.exe,该文件与:
- Python 3.5.1 64位。出于某种原因,主页上的默认下载链接适用于32位版本
- oracle实例客户端12.1.0.2.0(名为instantclient basic windows.x64-12.1.0.2.0.zip的文件)
activate root
conda update --all python=3.5
完成后,运行cx_Oracle-5.2.1-11g.win-amd64-py3.5.exe
通过进口测试,效果良好
import CX_Oracle
尝试通过上面答案中发布的rpm安装,但没有成功。取而代之的是普通的
pip安装
pip install cx_oracle
上述命令已安装cx\u oracle=6.1
请注意,我使用的是
Python2.7.14 Anaconda版本
和Oracle12c
,虽然这是一个愚蠢的错误,但请确保使用正确的模块名称并遵守大小写
我通过命令行在我的windows机器上安装了这个软件包,名为pip install cx\u oracle
。在spyder中将其作为cx\u oracle
导入时,它不断给出以下错误:
Traceback (most recent call last):
File "test_SQLPython.py", line 3, in ?
import cx_Oracle
ImportError: No module named cx_Oracle
ModuleNotFoundError:没有名为“cx\U oracle”的模块
将导入命令中的模块名称更正为
cx\u Oracle
(即大写字母在Oracle中的字母'O')后,导入成功。cx\u Oracle.py位于何处?它可能在python路径中没有列出的某个地方,您能澄清一下吗?e、 你说的bt“即时客户端”是什么意思?这里有“insta客户端”可供下载。太棒了!要安装OracleLib,请向下滚动到页面末尾,阅读安装部分。我在想,文件名看起来像是64位的,仅适用于AMD处理器!我使用的是Python 3.5+Oracle 11g+Intel Xeon 64位处理器。6.1是最新版本。英特尔64位处理器至今仍未包括在内。这里的一句话:这将下载并安装一个预编译的二进制文件(如果您的体系结构可用的话)。如果预编译的二进制文件不可用,则将下载、编译源代码并安装生成的二进制文件。我目前有一个conda env,使用Python3.6(仅在Pycharm中,而不是在ipython中)与cx_Oracle一起工作,因此这可能自发布后有所改变。仅此而已。我使用“pip install cx_Oracle”重新安装,大写字母为“O”,并成功导入。谢谢,MrDBA。那么cx\U Oracle模块本身不包括客户端/驱动程序吗?