`eb init` завершается неудачно с pkg_resources.ContextualVersionConflict PyYAML 4.1 - PullRequest
0 голосов
/ 27 июня 2018

Возникли проблемы с развертыванием моего приложения из эластичного бобового стебля из конвейера битового буфера. Этот же код работал без проблем, поэтому я думаю, что это какая-то проблема с зависимостями.

(awsebcli версия 3.14.1)

Изображение для конвейера python:3.5.2 и вот неудачный шаг:

- step:
      name: Test Deploy
      deployment: test
      caches:
        - pip
      script:
        - pip install awsebcli --upgrade
        - eb init myAppName -r us-east-1 -p Python  # This line started failing :'(
        - eb deploy myAppName-dev-1

и вывод ошибки:

eb init myAppName -r us-east-1 -p Python Traceback (most recent call last): File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 570, in _build_master ws.require(__requires__) File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 888, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 779, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/usr/local/lib/python3.5/site-packages), Requirement.parse('PyYAML<4,>=3.10'), {'docker-compose'}) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/eb", line 6, in <module> from pkg_resources import load_entry_point File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3095, in <module> @_call_aside File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3079, in _call_aside f(*args, **kwargs) File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3108, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 572, in _build_master return cls._build_from_requirements(__requires__) File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 585, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 779, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (PyYAML 4.1 (/usr/local/lib/python3.5/site-packages), Requirement.parse('PyYAML<4,>=3.10'), {'docker-compose'})

Так что, если я правильно читаю, у меня есть PyYAML 4.1, когда мне нужно что-то меньше 4.

Буду очень признателен за понимание того, как разрешить этот конфликт. Спасибо за чтение.

1 Ответ

0 голосов
/ 27 июня 2018

Я изменил строку установки pip, чтобы явно использовать более старую версию PyYAML, и это, похоже, сработало ...

Изменено

pip install awsebcli --upgrade

К

pip install pyYAML==3.12 awsebcli --upgrade
...