Настройте awscli внутри pipenv с помощью python3 - PullRequest
0 голосов
/ 07 октября 2019

Сводка

  • setup pipenv
  • подтверждение версий pip и python
  • установка awscli
  • подтверждение aws версия ( fails )
  • Использование: MacOs 10.14.6

Настройка среды pipenv

$ pipenv shell
Creating a virtualenv for this project…
Pipfile: /Users/XXX/Documents/dev/2019/delete_test_boto3/Pipfile
Using /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/bin/python3.7 (3.7.4) to create virtualenv…
...

По завершении этого, оболочка автоматически вводится ивсе последующие команды выполняются из него.

Подтверждение правильности версий

$ python --version
Python 3.7.4
$ pip3 --version
pip 19.2.3 from /Users/XXX/.local/share/virtualenvs/delete_test_boto3-Dcz9_GEz/lib/python3.7/site-packages/pip (python 3.7)

Установка awscli

Примечание:

  • Я не использовал --user, потому что он не работает в pipenv, как это было сделано в Установите AWS CLI в виртуальной среде
  • , просматривая вывод, кажется, что есть несколькослишком много 2 по сравнению с 3
$ pip3 install awscli --upgrade
Collecting awscli
  Using cached https://files.pythonhosted.org/packages/b6/c4/1ff0b54849991f6c8d8d1d8ab41f18a2c6f6915ecee2293ff7cc3b8c50fe/awscli-1.16.253-py2.py3-none-any.whl
Collecting botocore==1.12.243 (from awscli)
  Using cached https://files.pythonhosted.org/packages/5e/0d/61f8d01ec9845f26aaf4d97ab8adf26c939c9ad2e55f4bb6b1f0cb2b4948/botocore-1.12.243-py2.py3-none-any.whl
Collecting PyYAML<=5.2,>=3.10; python_version != "2.6" (from awscli)
Collecting colorama<0.4.2,>=0.2.5; python_version != "2.6" and python_version != "3.3" (from awscli)
  Using cached https://files.pythonhosted.org/packages/4f/a6/728666f39bfff1719fc94c481890b2106837da9318031f71a8424b662e12/colorama-0.4.1-py2.py3-none-any.whl
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
  Using cached https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl
Collecting docutils<0.16,>=0.10 (from awscli)
  Using cached https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl
Collecting s3transfer<0.3.0,>=0.2.0 (from awscli)
  Using cached https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl
Collecting urllib3<1.26,>=1.20; python_version >= "3.4" (from botocore==1.12.243->awscli)
  Using cached https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.12.243->awscli)
  Using cached https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1; python_version >= "2.7" (from botocore==1.12.243->awscli)
  Using cached https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
  Using cached https://files.pythonhosted.org/packages/a1/71/8f0d444e3a74e5640a3d5d967c1c6b015da9c655f35b2d308a55d907a517/pyasn1-0.4.7-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore==1.12.243->awscli)
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Installing collected packages: urllib3, docutils, jmespath, six, python-dateutil, botocore, PyYAML, colorama, pyasn1, rsa, s3transfer, awscli
Successfully installed PyYAML-5.1.2 awscli-1.16.253 botocore-1.12.243 colorama-0.4.1 docutils-0.15.2 jmespath-0.9.4 pyasn1-0.4.7 python-dateutil-2.8.0 rsa-3.4.2 s3transfer-0.2.1 six-1.12.0 urllib3-1.25.6

... и, конечно же, я проверил версию aws, и она ссылается на python2:

$ aws --version
aws-cli/1.16.253 Python/2.7.10 Darwin/18.7.0 botocore/1.12.243

Кроме того, версияв Установите интерфейс командной строки AWS в виртуальной среде указывает на python3.

Ожидаемый результат:

$ aws --version
aws-cli/1.16.116 Python/3.6.8 Linux/4.14.77-81.59-amzn2.x86_64 botocore/1.12.106

Редактировать:

Я думаю, что это может быть проблема MacOs, поскольку она предустановлена ​​с Python 2.7.

...