尝试使用 pip-3.2 安装 suds,但失败并出现错误
sudo pip-3.2 install suds
Downloading/unpacking suds
Running setup.py egg_info for package suds
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/tmp/pip-build/suds/setup.py", line 20, in <module>
import suds
File "suds/__init__.py", line 154, in <module>
import client
ImportError: No module named client
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/tmp/pip-build/suds/setup.py", line 20, in <module>
import suds
File "suds/__init__.py", line 154, in <module>
import client
ImportError: No module named client
这个名为 client 的模块是哪个模块?如果需要,我该如何安装它?
根据this页面,您应该尝试运行
sudo pip-3.2 install suds-jurko
。看起来 suds
可能尚未更新以支持 3.2,而 suds-jurko
已更新。希望这有帮助!
编辑:
来自
suds-jurko
PyPI 页面:
轻量级 SOAP 客户端(Jurko 的分支)。
基于 Jeff Ortel(redhat 的jortel)最初的“suds”项目 dot com)托管在“https://fedorahosted.org/suds”。
“Suds”是一个基于 SOAP 的轻量级 Web 服务客户端,适用于 Python 许可 LGPL 下(请参阅发行版中包含的 LICENSE.txt 文件)。
这希望只是原始 suds Python 库的临时分支 项目创建是因为原来的项目开发似乎已经停滞。 如果它恢复了,应该重新整合回原来的项目 再次。
在python 3.7.7中,您可以使用
pip install suds-py3
安装 suds py3 包。 如果您的代码不能按预期工作,您可以删除
中的 suds 目录python3.7/site-packages/
并重新运行
pip install suds-py3
找到 client.py 并将其路径添加到 PYTHONPATH 中。这将解决您的问题。
在 Windows Python 3.5 中,它位于 Python35\Lib\http 中。 PYTHONPATH=E: pps\Python35\Lib;E: pps\Python35\Lib\http;
我面临着类似的问题。我已经安装了suds-jurko0.6,但是当我导入suds(导入suds),并在python3.3 shell中执行dir(suds)时,输出如下:
['BuildError',
'BytesIO',
'MethodNotFound',
'PortNotFound',
'Repr',
'ServiceNotFound',
'SoapHeadersNotPermitted',
'TypeNotFound',
'UnicodeMixin',
'WebFault',
'__build__',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'__path__',
'__version__',
'byte_str',
'byte_str_class',
'null',
'objid',
'sys',
'tostr',
'version']
也就是说,python 没有导入 suds 模块。到目前为止我的黑客解决方案一直在做 sys.path.append(suds.path[0])。不过,我对此并不完全满意。更具弹性 解决方案应该与 suds 包顶部的 ini.py 文件相关。
我建议安装最新的 jurko 开发人员版本,它应该可以处理大型 WSDL 的递归深度加载问题(我在使用 NetSuite WSDL 时遇到了这个问题)这个版本应该可以解决这个问题。
$ sudo pip install bitbucket.org/jurko/suds/get/tip.tar.gz#egg=suds
这是 Bitbucket 项目页面:
基本上是suds库和python版本的兼容性问题。 你的Python版本应该是2.7.14。
我将 python 版本 3.6 降级到 2.7.14,它对我有用。
如果还有任何错误,请告诉我。
此类错误通常是由于
source .venv/bin/activate
的错误导致的,其中 .venv
是您的 virtualenv 的位置。
我收到了同样的错误,只是做了一个 pip install 客户端,然后 pip install suds 工作正常
也许为时已晚,但你会尝试这个:
try:
from suds.client import Client
except ImportError:
print('Cannot import SUDS')