suds install error: no module named client

Question:

Trying to install suds with pip-3.2 and it fails with the error

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

Which module is this named client and how do I install it if need be?

Asked By: lukik

||

Answers:

According to this page, you should try running sudo pip-3.2 install suds-jurko. It looks like suds may not have been updated to work with 3.2 whereas suds-jurko has been. Hope this helps!

EDIT:

From the suds-jurko PyPI page:

Lightweight SOAP client (Jurko’s fork).

Based on the original ‘suds’ project by Jeff Ortel (jortel at redhat
dot com) hosted at ‘https://fedorahosted.org/suds‘.

‘Suds’ is a lightweight SOAP-based web service client for Python licensed
under LGPL (see the LICENSE.txt file included in the distribution).

This is hopefully just a temporary fork of the original suds Python library
project created because the original project development seems to have stalled.
Should be reintegrated back into the original project if it ever gets revived
again.

Answered By: James Brewer

I am facing the similar sort of problem. I’ve installed suds-jurko0.6, but when I am importing suds (import suds), and doing dir(suds) in the python3.3 shell, the output is the following:

['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']

That is, python is not importing suds modules. My hackish solutions so far has been doing
sys.path.append(suds.path[0]). I am not entirely happy with it, though. A more rubbost
solution should be related to the ini.py file at the top of the suds package.

Answered By: jmrosal

Locate client.py and add its path in PYTHONPATH. This will solve your problem.

In Windows Python 3.5 it was in Python35Libhttp.
PYTHONPATH=E:appsPython35Lib;E:appsPython35Libhttp;

Answered By: Jason LeMonier

I would recommend installing the latest jurko developer’s cut, which should handle an issue with recursion depth loading for big WSDL’s (I ran into this with the NetSuite WSDL) This version should fix the issue.

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

Here is the Bitbucket Project page:

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

Answered By: Johnny Gasyna

Basically there is a problem with the compatbility of suds library and python version .
Your python version should be 2.7.14.

I downgraded my python version 3.6 to 2.7.14 and it worked for me.

Please let me know , if there are any further errors.

Answered By: Shubham Tandon

Often times errors like this result from an error to source .venv/bin/activate, where .venv is the location of your virtualenv.

Answered By: mecampbellsoup

In python 3.7.7, you can use

pip install suds-py3

to install suds py3 package.
If your code not work as expected, you can delete the suds directory in

python3.7/site-packages/

and rerun

pip install suds-py3
Answered By: Venusor

Maybe is too late, but you would try this:

try:
   from suds.client import Client
except ImportError:
   print('Cannot import SUDS')
Answered By: Felipe Angulo
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.