问题
trying to install the cloudant module on a raspberry pi ver 1 rev b using the instructions from IBM's web page.
first: git clone https://github.com/IBM-Cloud/get-started-python
then: cd get-started-python
finally: pip install -r requirements.txt
I want to use the cloudant module with python 2.7 I've read about the environment variable possibly being an issue, but honestly i'm lost. I've read many posts about problems installing, but so far nothing works...
I get the following error message:
pi@rpi-2:~/hms/get-started-python $ pip install -r requirements.txt
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: Flask>=1.0.0 in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 1)) (1.0.2)
Collecting cloudant==2.13.0
Using cached cloudant-2.13.0.tar.gz (60 kB)
ERROR: Command errored out with exit status 1:
command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-d8SSO0/cloudant/setup.py'"'"'; __file__='"'"'/tmp/pip-install-d8SSO0/cloudant/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-7Btkkf
cwd: /tmp/pip-install-d8SSO0/cloudant/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-d8SSO0/cloudant/setup.py", line 33, in <module>
with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
TypeError: 'encoding' is an invalid keyword argument for this function
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
UPDATE: so this is my code:
from cloudant.client import cloudant
running my code using python3 code.py
I get the error message"
Traceback (most recent call last):
File "code.py", line 1, in <module>
from cloudant.client import cloudant
ModuleNotFoundError: No module named 'cloudant'
While I don't fully understand why changing my import statement to from cloudant import Cloundant
fixes the issue...
回答1:
Parameter encoding
was added to open()
in Python 3.0. This code in setup.py
is Python3-only despite the packages declares compatibility with Python2. Please note they provide wheels only for Python3.
Either using encoding
is a bug or declaring compatibility with Python2 is a bug. Which one is for the authors to decide. Report the problem and let's them to resolve.
Or try Python3.
来源:https://stackoverflow.com/questions/62272132/cloudant-module-will-not-install-with-pip