关于pip install SOAppy下载下来的SOAppy无法在python3下使用的问题
(直接翻到底部就是解决方式,前面主要是阐述过程)
from SOAPpy import WSDL
报错“ModuleNotFoundError: No module named ‘Client’”
又来了。。。先百度,没有,不说了,直接看代码吧。
首先进入SOAPpy安装目录 cd /d D:\python3.7\Lib\site-packages\SOAPpy
输入__init__.py
这次报错信息很有用,是因为Client文件有错误,所以导致找不到Client(我之前还重复pip install Client好几遍)
打开Client.py,找到line 99
还有一些,都是抛出异常好print错误,这些python2的写法与python3不适应。
改完之后运行__init__.py
看了看改目录下确实没有httplib,我就去pip install httplib,
去pypi里找,找到httplib2,那就这个了pip install httplib2
不是这个文件,百度client.py里的这句“from httplib import HTTPConnection, HTTP”,
找到解决方法(来自https://www.cnblogs.com/liutong3310/p/3741813.html),python3里用http.client替代python2里的httplib,
不懂,去pypi里找http.client,找到的是http_client,pip install http_client,还是报错,百度“ERROR: Please specify --curl-dir=/path/to/built/libcurl”,找到这个https://www.jianshu.com/p/8bbcb5d8df5c,那就安装一下pycurl,下载到本地,
然后pip install http_client
然后改一下Client.py,把httplib改为http_client,报错。。。。
。。。
改的我头皮发麻,这个文件里都是类似的错误,而且有的地方错误很奇怪,不懂python3和python2的我根本解决不了。我想着肯定是这个SOAPpy的问题,这个是我pip install SOAPpy得到的,我于是去pypi找,
第一个下载出来也是原来的错误,因为这里第二个名字很明显是真的python3的,我于是下载这个文件,
pip install SOAPpy-py3,下载完成去python命令行下输入import SOAPpy(这里输入SOAPpy-py3会出错),成功了。
有那个将python2代码改成python3的,我不会用,也许也能解决类似问题。
总结:先百度找相同的问题,没有去看官方网站或者相关网站。