suds 安装错误:没有名为 client 的模块

问题描述 投票:0回答:9

尝试使用 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 的模块是哪个模块?如果需要,我该如何安装它?

python pip suds
9个回答
85
投票

根据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 库的临时分支 项目创建是因为原来的项目开发似乎已经停滞。 如果它恢复了,应该重新整合回原来的项目 再次。


7
投票

在python 3.7.7中,您可以使用

pip install suds-py3

安装 suds py3 包。 如果您的代码不能按预期工作,您可以删除

中的 suds 目录
python3.7/site-packages/

并重新运行

pip install suds-py3

2
投票

找到 client.py 并将其路径添加到 PYTHONPATH 中。这将解决您的问题。

在 Windows Python 3.5 中,它位于 Python35\Lib\http 中。 PYTHONPATH=E: pps\Python35\Lib;E: pps\Python35\Lib\http;


1
投票

我面临着类似的问题。我已经安装了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 文件相关。


1
投票

我建议安装最新的 jurko 开发人员版本,它应该可以处理大型 WSDL 的递归深度加载问题(我在使用 NetSuite WSDL 时遇到了这个问题)这个版本应该可以解决这个问题。

$ sudo pip install bitbucket.org/jurko/suds/get/tip.tar.gz#egg=suds

这是 Bitbucket 项目页面:

https://bitbucket.org/jurko/suds/wiki/Home


1
投票

基本上是suds库和python版本的兼容性问题。 你的Python版本应该是2.7.14。

我将 python 版本 3.6 降级到 2.7.14,它对我有用。

如果还有任何错误,请告诉我。


0
投票

此类错误通常是由于

source .venv/bin/activate
的错误导致的,其中
.venv
是您的 virtualenv 的位置。


0
投票

我收到了同样的错误,只是做了一个 pip install 客户端,然后 pip install suds 工作正常


-1
投票

也许为时已晚,但你会尝试这个:

try:
   from suds.client import Client
except ImportError:
   print('Cannot import SUDS')
© www.soinside.com 2019 - 2024. All rights reserved.