Python案例篇2-pycharm import cx_Oracle模块引发的No module named 'custom_exceptions'

一.问题描述

最近在自学python,然后用到Oracle数据库,于是开始学习cx_Oracle模块。

代码:

import cx_Oracle
dbConnect_host= cx_Oracle.makedsn('mylocalhost','myportnumber',sid='orcl')
conn = cx_Oracle.connect('system', 'mypassword',dbConnect_host)
print(conn)
c = conn.cursor()
print(e)

报错信息:

E:\python\learn_python1\venv\Scripts\python.exe E:/python/learn_python1/cx_Oracle_test1.py
Traceback (most recent call last):
  File "E:/python/learn_python1/cx_Oracle_test1.py", line 1, in <module>
    import cx_Oracle as cx
  File "E:\python\learn_python1\venv\lib\site-packages\cx_Oracle\__init__.py", line 10, in <module>
    from custom_exceptions import Warning, Error, InterfaceError, DatabaseError, DataError, OperationalError, IntegrityError, InternalError, ProgrammingError, NotSupportedError
ModuleNotFoundError: No module named 'custom_exceptions'
 
Process finished with exit code 1

通过cmd命令行,运行OK

C:\Users\Administrator>python
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import cx_Oracle
>>>

尝试了百度,CSDN论坛提问的方式,都没有找到解决的方案。
百度上看到一个人和我同样的报错,但是没有获得解答:
https://stackoverflow.com/questions/61569759/modulenotfounderror-no-module-named-custom-exceptions-python3

二.解决方案

我梳理了一下我安装cx_Oracle模块的过程:
因为最开始在pycharm上查找cx_Oracle模块的时候没有找到,就随便安装了一个cx_oracle_on_ctypes模块,发现不能用。
后面了解到pycharm上cx_Oracle模块的名字是cx-Oracle,然后重新安装,就报了提问的那个错误。
刚刚测试了一下,把该项目下的cx_oracle_on_ctypes这个模块删除了,然后import cx_Oracle就正常了。

image.png

重新测试,成功

E:\python\learn_python1\venv\Scripts\python.exe E:/python/learn_python1/cx_Oracle_test1.py
123

Process finished with exit code 0

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容