导入cx_Oracle模块时出现错误 [Python]

3

我使用的是Windows 7 64位和Oracle 10g。我已经安装了python-2.7.2.amd64以及cx_Oracle-5.1-10g.win-amd64-py2.7。

当我导入cx_Oracle模块时,会出现以下错误: Traceback (most recent call last): File "C:\Osebno\test.py", line 1, in import cx_oracle ImportError: No module named cx_oracle

请问有人能告诉我问题出在哪里吗?

5个回答

4

你尝试过使用大写字母O的 import cx_Oracle 代替 import cx_oracle 吗?


嘿!我知道我有点晚了,但我也遇到了类似的问题。我的Oracle数据库在X机器上,而我在Y机器上,在Y机器上我安装了Python 3.5(64位),并且还安装了cx_Oracle。但是当我打开PyCharm并尝试导入时,它会显示找不到模块。如果您已经解决了该问题,请帮帮我。 - iprashant

2
我曾在Windows下遇到了相同的问题。 我使用Dependency Walker打开路径为C:\Python\Libs\site-libraries\的cx_Oracle.pyd文件,并查看了依赖项分析结果。
Dependency Walker向我展示了这种情况:我安装了x86版本的Python 2.7.2,同时安装了x64版本的Oracle客户端和客户端DLL(oci.dll),并且试图使用x64版本的cx_Oracle模块。有了这个认识,我安装了适用于Windows的Python 2.7.2 x86_64版本,一切都恢复正常了。 另一种选择是安装Oracle客户端和cx_Oracle的x86版本,但这比安装新的Python解释器要麻烦得多。
此外,对我来说这是新闻,你必须安装Oracle客户端,因为它提供了cx_Oracle使用的'OCI.dll'客户端库。它位于这里:Oracle 客户端安装程序 Windows x64。如果阅读文档可能会更有帮助;)
不管怎样,如果您遇到导入错误,Dependency Walker可能会给您提供一个很大的线索。不幸的是,在导入错误消息可能会相当模糊。我收到了您提到的相同错误和其他一些不太具体的错误。

1
安装cx_Oracle后,从Oracle下载即时客户端和所有DLL文件,然后将它们复制到cx_Oracle.pyd相同的目录中,它将直接工作。
我尝试过并且对我有效。

0

它找不到模块。

需要调查的事项:您是否安装了多个Python版本?它是否安装在正确的位置?全局搜索cx_oracle并检查其是否在正确的位置。检查您的PYTHONPATH变量。检查Python的注册表值HKLM\Software\Python\Pyhoncore。它们是否正确?


我尝试导入cx_Oracle,却收到相同的错误。 我使用一个版本的Python(Python 2.7.2)PATH: >>> import sys >>> print sys.path ['C:\Osebno', 'C:\Python27\Lib\idlelib', 'C:\Windows\system32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages', 'C:\Python27\lib\site-packages\wx-2.8-msw-unicode'] 我可以在文件夹C:\Python27\Lib\site-packages\中看到cx_Oracle.pyd。 这一定是Win 7 64位和Oracle驱动程序的某种问题? - Gašper

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接