python-servicenow
python-servicenow copied to clipboard
Python 3 should not use SOAPpy
Please use
suds <https://pypi.python.org/pypi/suds>
rather than SOAPpy. SOAPpy is old and clamsy.
Import fails with:
File "./hostname_environment.py", line 37, in <module>
from servicenow.drivers import SOAP
File "/home/infrascripting/.virtenv/servicenow/lib/python3.6/site-packages/servicenow/drivers/SOAP.py", line 3, in <module>
from SOAPpy import SOAPProxy
ImportError: cannot import name 'SOAPProxy'
The work-around is a rabbit hole, and I have python2.7 available to me for this for now. But any rewrite should consider changing this.
I would like to point out also that:
$ docker run -it --rm centos:7
# yum install -y epel-release
# yum install -y python34-pip
# pip3 install python-servicenow
...
Collecting SOAPpy (from servicenow)
Downloading https://files.pythonhosted.org/packages/78/1b/29cbe26b2b98804d65e934925ced9810883bdda9eacba3f993ad60bfe271/SOAPpy-0.12.22.zip (172kB)
100% |################################| 174kB 1.8MB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-n1lsy9ga/SOAPpy/setup.py", line 17, in <module>
+'\n'+read('CHANGES.txt')
File "/tmp/pip-build-n1lsy9ga/SOAPpy/setup.py", line 12, in read
os.path.join('.', *rnames)
File "/usr/lib64/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 842: ordinal not in range(128)
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-n1lsy9ga/SOAPpy/
You are using pip version 8.1.2, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
We reported https://github.com/kiorky/SOAPpy/issues/26 ages ago, but I think the project is abandoned. I see you removed SOAPpy from requirements.txt, so maybe it should also be dropped from setup.py (or made optional)?