39

尝试使用 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

这个命名客户端是哪个模块,如果需要,我该如何安装它?

4

8 回答 8

85

根据页面,您应该尝试运行sudo pip-3.2 install suds-jurko. 看起来suds可能尚未更新为与 3.2 一起使用,而已经更新suds-jurko。希望这可以帮助!

编辑:

suds-jurkoPyPI 页面:

轻量级 SOAP 客户端(Jurko 的分支)。

基于 Jeff Ortel(redhat dot com 的 jortel)在“ https://fedorahosted.org/suds ”上托管的原始“suds”项目。

'Suds' 是一个轻量级的基于 SOAP 的 Web 服务客户端,用于在 LGPL 下获得许可的 Python(请参阅分发中包含的 LICENSE.txt 文件)。

希望这只是最初创建的 suds Python 库项目的一个临时分支,因为最初的项目开发似乎已经停滞不前。如果它再次恢复,应该重新整合回原始项目。

于 2013-02-20T07:01:44.833 回答
7

在 python 3.7.7 中,您可以使用

pip install suds-py3

安装 suds py3 包。如果您的代码没有按预期工作,您可以删除 suds 目录

python3.7/site-packages/

并重新运行

pip install suds-py3
于 2020-04-09T06:51:01.983 回答
2

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

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

于 2017-01-20T00:31:21.507 回答
1

我面临着类似的问题。我已经安装了suds-jurko0.6,但是当我在python3.3 shell中导入suds(import suds),并做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 模块。到目前为止,我的 hackish 解决方案一直在做 sys.path.append(suds.path [ 0])。不过,我对此并不完全满意。更rubbost的解决方案应该与suds包顶部的ini .py文件有关。

于 2014-09-21T01:40:37.480 回答
1

我建议安装最新的 jurko developer's cut,它应该可以处理大型 WSDL 的递归深度加载问题(我在 NetSuite WSDL 中遇到了这个问题)这个版本应该可以解决这个问题。

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

这是 Bitbucket 项目页面:

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

于 2017-12-12T21:12:53.397 回答
1

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

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

请让我知道,如果有任何进一步的错误。

于 2018-07-02T11:25:14.950 回答
0

像这样的错误通常是由一个错误导致的,你的 virtualenv 的位置在source .venv/bin/activate哪里。.venv

于 2018-10-02T17:24:18.197 回答
0

也许为时已晚,但你可以试试这个:

try:
   from suds.client import Client
except ImportError:
   print('Cannot import SUDS')
于 2021-03-01T13:27:05.657 回答