初学Python编写WCF客户端时导入suds.client报错,求解决方案
解决Python导入suds.client时的SyntaxError问题
嘿,这问题我熟!你碰到的这个语法错误根源很明确——原版suds库只支持Python 2.x,但你用的是Python 3.6,两者的异常捕获语法不一样:Python 2里写except Exception, e:是合法的,但Python 3要求必须写成except Exception as e:,这就导致了这个SyntaxError。
给你两个靠谱的解决办法:
首选方案:安装适配Python 3的suds分支
直接用pip安装支持Python 3的版本就行,推荐suds-jurko或者suds-py3,这两个都是社区维护的适配分支。打开命令行执行:# 安装suds-jurko(维护更活跃) pip install suds-jurko # 或者安装suds-py3 pip install suds-py3安装完成后,你再执行
from suds.client import Client就不会报错了,用法和原版suds完全一致。备选方案(不推荐):切换到Python 2环境
如果你硬要使用原版suds,那只能降级到Python 2.7,但Python 2早在2020年就停止官方维护了,不管是安全性还是后续的库兼容性都没保障,所以真心不建议这么做。
小提醒:如果其中一个分支安装后还有小问题,可以试试另一个,不同分支在某些细节上的适配可能有差异。
内容的提问来源于stack exchange,提问作者txiangyang
相关产品推荐
相关产品推荐

