【发布时间】:2019-06-19 22:50:34
【问题描述】:
我按照本指南开始使用 AWS beanstalk,尽管我在 requirements.txt 中使用的包与本教程中的包不同:
这一切都有效,直到我到达他们告诉我创建环境并将我的应用程序部署到它的位置,方法是在我的本地终端的项目根目录中输入以下命令:
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: )
显然是从我的 requirements.txt 包中安装东西,并成功安装了一些。但是当它从 requirements.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。我可以通过 ssh 进入应用程序所在的 ec2 实例,但我不确定这是否是强制它在虚拟环境中使用更新版本的 pip 的最佳方式。
【问题讨论】:
-
包“en-core-web-sm”在 PyPi 上不存在。您使用的是私有 Python 存储库吗?
-
或者,“en-core-web-sm”是您自己的包/项目的名称?显然,PyPi 上还没有……
-
不,这不是我自己的包。很奇怪。我通过冻结为这个特定项目制作的 venv 来构建我的 requirements.txt。想知道它是如何进入 requirements.txt
-
您能否确认:“en-core-web-sm”出现在您的
requirements.txt中。我认为这个库是从另一个存储库提供的。有网址吗?吉特?
标签: python amazon-web-services amazon-ec2 pip amazon-elastic-beanstalk