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

时间:2013-02-20 06:47:14

标签: python pip suds

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

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

8 个答案:

答案 0 :(得分:65)

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

编辑:

suds-jurko PyPI页面:

  
    
      

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

             

基于Jeff Ortel的原创'suds'项目(jartel at redhat)       dot com)在'https://fedorahosted.org/suds'举办。

             

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

             

希望这只是原始suds Python库的临时分支       项目创建是因为原始项目开发似乎已停滞不前。       如果它恢复原状,应该重新融入原始项目       试。

    
  

答案 1 :(得分:2)

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

在Windows Python 3.5中,它位于Python35 \ Lib \ http中。 PYTHONPATH = E:\应用\ Python35 \库; E:\应用\ Python35 \ LIB \ HTTP;

答案 2 :(得分: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模块。到目前为止我的解决方案一直在做 sys.path.append(泡沫。的路径 [0])。不过,我对它并不完全满意。更多的rubbost 解决方案应该与suds包顶部的 ini .py文件相关。

答案 3 :(得分: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

答案 4 :(得分:1)

在python 3.7.7中,您可以使用

pip install suds-py3

安装suds py3软件包。 如果您的代码无法正常工作,则可以删除

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

然后重新运行

pip install suds-py3

答案 5 :(得分:0)

基本上,suds库和python版本的兼容性存在问题。 您的python版本应为2.7.14。

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

如果还有其他错误,请告诉我。

答案 6 :(得分:0)

类似的错误通常是由 for z in result: createjson (z) 的错误引起的,其中source .venv/bin/activate是您的virtualenv的位置。

答案 7 :(得分:0)

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

try:
   from suds.client import Client
except ImportError:
   print('Cannot import SUDS')