"问题总是螺旋曲线上升的。" ——bug界的扛把子
问题一:Python 使用 cx_Oracle 第三方库连接操作Oracle数据库
按照这篇文章的操作安装时,我的oracle是64位,Python是3.6.0,安装在windows64位系统上,pip是pip 20.2.3。下载cx_oralce时下载的是
cx_Oracle-8.0.1-cp38-cp38-win_amd64.whl。cmd中依次执行命令如下:
pip install wheel
cd 【cx_Oracle-8.0.1-cp38-cp38-win_amd64.whl】安装目录
pip install cx_Oracle-8.0.1-cp38-cp38-win_amd64.whl
报错ERROR:cx_oracle-8.0.1-cp38-cp38-win_amd64.whl is not a supported wheel on this platform。
开始查找错误原因,大概就是安装的whl名称不对,需要去查看一下当前版本下支持的命名方式(后来再深入研究了下应该理解为安装的whl与python版本不对应)
那我就跟着攻略一步一步找该方式下支持什么命名方式,结果命令通通是跟pip.pep425tags
相关的,出现问题二。
问题二:-module 'pip' has no attribute 'pep425tags'
本着试错的精神,把32位,64位老版本,64位新版本的命令通通试了下,具体命令详见Python 语法问题-module 'pip' has no attribute 'pep425tags',告诉你如何正确查看pip支持,32位、64位查看pip支持万能方法。
万能方法倒是得以一时解救了我,把 原来的pip18的pep425tags.py 放到python安装路径下的Lib库中后,结果又出现报错:cannot import name 'get_extension_suffixes'。螺旋式上升的问题啊。查这个错误是百度不到了,看了看源码,大概率还是前一个问题导致。pip20.2.3里不存在这个pep425tags.py这个文件。最终还是stack overflow靠谱.
根据sinoroc的回答,在python安装目录下输入python -m pip debug --verbose
查到支持的tags如下图,重新下载了ap36-cp36m的whl,解决了问题二。同时问题一也迎刃而解了。