将Django应用程序部署到Elasticbeanstalk:使用Pip安装软件包时出错

时间:2015-09-13 21:18:01

标签: python django python-3.x pip elastic-beanstalk

我一直在努力并且未能使用Python 3.4将Django 1.7应用程序部署到elastic-beanstalk。使用Eb-Cli,以下部署会产生错误:

eb deploy

给我:

CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 2.

检查日志,我看到以下内容:

CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 2 (ElasticBeanstalk::ExternalInvocationError) caused by: You are using pip version 7.0.3, however version 7.1.2 is available.

看到此错误我使用ssh连接到EC2实例并尝试手动更新pip;但是这给了我一个权限错误

Permission denied: '/usr/bin/pip'

过时的pip导致部署失败似乎有点奇怪但是可能就是这样吗?如果是的话,关于如何更新pip的任何想法?

一些网络搜索让我相信使用Python 3.x也可能是问题,但我还没有找到任何官方文档。 EC2还不支持python 3吗?

由于

1 个答案:

答案 0 :(得分:1)

如果有人好奇的话;该问题的解决方案是更改我的requirements.txt文件上的编码。这需要大量的挖掘来解决这个问题;我的猜测是pip升级消息在pip失败后立即回复日志,并且真正的错误消息被埋没太多字符以便报告。

无论如何,使用ANSI编码保存requirements.txt,你应该很高兴。