Как преодолеть проблемы с зависимостями при обновлении модуля запросов Python в Amazon Linux Instance (EC2)? - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть простое приложение Flask, которое я пытаюсь запустить на своем новом экземпляре AWS EC2, например:

FLASK_APP=app.py flask run

Я получаю следующую ошибку:

  File "/home/ec2-user/my-folder/my-app/my-script.py", line 16, in <module>
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
AttributeError: 'module' object has no attribute 'disable_warnings'

Один изРекомендации, которые я нашел в Интернете, - обновить версию модуля Python Requests.Моя текущая версия 1.2.3.

Вот что происходит, когда я пытаюсь обновить ее:

[ec2-user@ip-xxx-xx-xx-xxx my-folder]$ pip install requests --upgrade
Collecting requests
  Using cached https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting idna<2.9,>=2.5 (from requests)
  Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
  Using cached https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl
Collecting urllib3<1.25,>=1.21.1 (from requests)
  Using cached https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl
cloud-init 0.7.6 requires argparse, which is not installed.
cloud-init 0.7.6 requires cheetah, which is not installed.
cloud-init 0.7.6 requires oauth, which is not installed.
cloud-init 0.7.6 requires PrettyTable, which is not installed.
cloud-init 0.7.6 requires pyserial, which is not installed.
Installing collected packages: chardet, idna, certifi, urllib3, requests
  Found existing installation: chardet 2.0.1
Cannot uninstall 'chardet'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Как бы вы порекомендовали сделать обновление?Пожалуйста, дайте мне знать, если есть лучшее решение для проблемы с urllib3.

1 Ответ

0 голосов
/ 30 декабря 2018

Ваш код конфликтует с дистрибутивной установкой пакета chardet. Вы должны использовать virtualenv в соответствии с предложением @joseph, или вам нужно удалить или обновить пакет chardet с помощью команды менеджера пакетов, в случае, если вы используете amazon linux, поэтому вам нужно использоватьследующие команды для удаления пакета chardet вручную

yum remove python-chardet
...