Python 3.9+ is not supported
ynerant opened this issue · 3 comments
ynerant commented
The function base64.encodestring is deprecated since Python 3.1 and was removed in Python 3.9. It is used here:
https://github.com/eea/sparql-client/blob/master/sparql.py#L50
You may use use base64.encodebytes() instead.
cm3 commented
Temporarily, I edited sparql.py under the path given by pip show sparql-client
.
Replacing encodestring
to encodebytes
solved the error on Python 3.9. Just for your information.
(However, that is used in BASIC authentication https://github.com/eea/sparql-client/blob/master/sparql.py#L421 and I've not tried the code with restricted websites.)
rjalexa commented
Tried @cm3 suggestion but get:
class NameDict(collections.MutableMapping):
^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'MutableMapping'
Python 3.11
sparql-client 3.8