Настройка среды Python на AWS с использованием buildspec.yml - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть локальная ферма устройств, которая работает на Python 2.7.13 через Appium 1.6.5 на некоторых эмуляторах Android. Мы хотим увеличить нашу экспозицию и использовать ферму устройств AWS. Проблема в том, что AWS поддерживает только Python 2.7.6, и у них нет планов по обновлению.

Нам нужен по крайней мере Python 2.7.9+, потому что любой питон ниже, который не поддерживает SSL с пакетом «request».

Мы попробовали «request [security] == 2.9.1», но это вводит зависимость в пакетах колес, которые не поддерживает AWS.

При использовании python 2.7.6 в Windows и AWS мы получаем следующие ошибки при загрузке пакетов с помощью pip ...

... Сбор криптографии> = 2.2.1 (от pyOpenSSL> = 0.13-> Запросы [безопасность] == 2.9.1 -> - г /tmp/scratchzAHCQI.scratch/test-packagep3mb8i/requirements.txt (строка 5)) /tmp/scratchzAHCQI.scratch/tmpZjjNAE/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:90: InsecurePlatformWarning: настоящий объект SSLContext недоступен. Это мешает urllib3 правильно настроить SSL и может вызвать некоторые SSL-соединения потерпят неудачу. Для получения дополнительной информации см. https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. Небезопасная платформа Предупреждение о загрузке https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4/cryptography-2.3.1.tar.gz (449kB) Завершите вывод команды python setup.py egg_info: Traceback (последний вызов был последним): Файл "", строка 20, в Файл "/tmp/pip-build-nqoNP_/cryptography/setup.py", строка 28, в «Криптография требует setuptools 18.5 или новее, пожалуйста, обновите до» RuntimeError: криптография требует setuptools 18.5 или новее, пожалуйста, обновите до новой версии setuptools

---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in

/ TMP / пип-билд-nqoNP_ / криптография /tmp/scratchzAHCQI.scratch/tmpZjjNAE/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:90: InsecurePlatformWarning: настоящий объект SSLContext недоступен. Это мешает urllib3 правильно настроить SSL и может вызвать некоторые SSL-соединения потерпят неудачу. Для получения дополнительной информации см. https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning /tmp/scratchzAHCQI.scratch/tmpZjjNAE/local/lib/python2.7/site-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:90: InsecurePlatformWarning: настоящий объект SSLContext недоступен. Это мешает urllib3 правильно настроить SSL и может вызвать некоторые SSL-соединения потерпят неудачу. Для получения дополнительной информации см. https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Вы используете версию пипа 7.1.2, однако доступна версия 18.0 Вы должны рассмотреть возможность обновления через 'пипс Команда install --upgrade pip '.

Инженер службы поддержки AWS отметил, что мы можем настроить нашу собственную среду для поддержки новой версии Python. Однако документация очень запутанная, поскольку в ней не указано, как должен называться файл «Tech Spec» (я полагаю, buildspec.yml), куда я должен его поместить, должны ли мы по-прежнему использовать колесо или просто pip?

Могу ли я использовать apt или использовать yum?

Я просмотрел интернет, но не могу найти ничего, связанного с питоном и технической спецификацией AWS. Все, что я хочу сделать, это установить Python 2.7.9, установить требования, запустить тесты и иметь возможность публиковать сообщения в службах https REST.

Кто-нибудь должен был решить эту проблему раньше?

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете выбрать только по умолчанию 2.7.6 против опциональных 3.4.3. Следуйте этому сообщению, чтобы настроить среду Python 3: https://forums.aws.amazon.com/message.jspa?messageID=865585#868262

...