Я следовал этому руководству при начале работы с AWS beanstalk, хотя в моих требованиях я использую пакеты, отличные от тех, что описаны в этом руководстве:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html#python-flask-deploy
Все это работает, пока я не доберусь до того места, где мне скажут создать среду и развернуть в ней мое приложение, введя следующую команду на моем локальном терминале в корне проекта:
eb create flask-env
Это запускает процесс, который в конечном итоге дает сбой. Я проверяю журналы в приложении Beanstalk и нахожу:
Downloading https://files.pythonhosted.org/packages/fe/42/bfe2e0857bc284cbe6a011d93f2a9ad58a22cb894461b199ae72cfef0f29/dill-0.2.9.tar.gz (150kB)
Collecting docutils==0.14 (from -r /opt/python/ondeck/app/requirements.txt (line 16))
Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB)
Collecting en-core-web-sm==2.0.0 (from -r /opt/python/ondeck/app/requirements.txt (line 17))
Could not find a version that satisfies the requirement en-core-web-sm==2.0.0 (from -r /opt/python/ondeck/app/requirements.txt (line 17)) (from versions: )
Он, очевидно, устанавливает вещи из моего пакета require.txt, и несколько из них удается установить. но когда он попадает в эту строку из require.txt:
en-core-web-sm==2.0.0
тогда не получается. Я также отметил это сообщение в своих журналах после сообщения об ошибке выше:
You are using pip version 9.0.1, however version 19.0.1 is available.
Я подозреваю, что среда beanstalk по умолчанию использует старую версию pip, где этот пакет (или версия пакета) не был доступен.
Это действительно так? И если да, то как мне сказать использовать обновленную версию pip. я могу подключиться к экземпляру ec2, в котором запущено приложение, но я не уверен, что это лучший способ заставить его использовать обновленную версию pip в виртуальных средах.