我一直在尝试使用Python3.4部署Django 1.7应用程序,但失败了。使用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有什么想法吗?
一些网络搜索让我相信使用Python3.x也可能是个问题,但我还没有找到任何关于这方面的正式文档。EC2根本不支持python 3吗?
谢谢
发布于 2015-10-02 18:34:11
如果有人好奇的话,解决这个问题的方法是更改我的requirements.txt文件的编码。花了很长时间才弄明白这一点;我的猜测是,pip升级消息一旦pip失败,真正的错误消息就会被回音到日志中,而真正的错误消息被掩埋的字符太多,无法被报告。
无论如何,用ANSI编码保存requirements.txt,这样就可以了。
https://stackoverflow.com/questions/32554641
复制相似问题