从Python 3.4迁移到Python 3.6 AMI

从Python 3.4迁移到Python 3.6 AMI,python,amazon-ec2,amazon-elastic-beanstalk,amazon-ami,Python,Amazon Ec2,Amazon Elastic Beanstalk,Amazon Ami,是否有人拥有将弹性Beanstalk环境从现有Python 3.4实例迁移到Python 3.6实例的过程 通过保存我的配置并将“EC2映像ID”(在配置->实例下)更改为Python 3.6 AMI平台实例的ID,看起来我能够使用Python 3.6 AMI启动一个新的EC2实例(我在EC2实例详细信息中列出了aws-elasticbeanstalk-amzn-2018.03.0.x86_64-python36-hvm-201805090750(AMI-b5342ad5))。我相信这涉及到破坏

是否有人拥有将弹性Beanstalk环境从现有Python 3.4实例迁移到Python 3.6实例的过程

通过保存我的配置并将“EC2映像ID”(在配置->实例下)更改为Python 3.6 AMI平台实例的ID,看起来我能够使用Python 3.6 AMI启动一个新的EC2实例(我在EC2实例详细信息中列出了aws-elasticbeanstalk-amzn-2018.03.0.x86_64-python36-hvm-201805090750(AMI-b5342ad5))。我相信这涉及到破坏我的弹性Beanstalk环境,并从配置备份中创建一个新的环境

看起来我现在有一个带有Python3.6AMI的EC2实例,但是,当我运行
eb config
时,我看到它仍然列为Python3.4实例。另外,它仍然是一个Python 3.4实例(virtualenv仍然是3.4)

我看到这说明需要更新
PlatformArn
。我的说

platforman:arn:aws:elasticbeanstalk:us-west-1::platform/Python 3.4在64位上运行
亚马逊Linux/2.7.0

我试着把“3.4”改成“3.6”,但没有成功。有什么建议吗?谢谢

我明白问题所在

目前,在
us-west-1
中没有像下面这样的Python 3.6
PlatformArn

arn:aws:elasticbeanstalk:us-west-1::platform/Python 3.6 running on 64bit Amazon Linux/2.7.0
您可以通过执行以下操作来确定
us-west-1
中的PlatformArns列表:

aws elasticbeanstalk list-platform-versions --region us-west-1 | grep "PlatformArn"
根据您的帐户访问规则/权限,您应该能够看到:

arn:aws:elasticbeanstalk:us-west-1::platform/Python 3.6 running on 64bit Amazon Linux/2.6.0

列表平台版本
API调用的结果中。细微的差别在于后面的“2.6.0”,而不是您尝试过的“2.7.0”。

可能是
eb config
确实不起作用。或者,您也可以尝试
eb升级
@progfan-谢谢您的建议!是的,我相信
eb config
确实失败了。我已经执行了
eb升级
,它允许我升级底层的Amazon Linux操作系统,但是,它不允许有人从一个预先配置的环境跳到另一个环境(例如Amazon Linux上的Python 3.4到Amazon Linux上的Python 3.6)。这就是我问题的症结所在。好的,你能发布与
eb config
故障相关的错误消息吗?如果执行
eb config--debug
,您可以找到更详细的信息。再次感谢您的跟进!通过elasticbeanstalk web界面,我能够在AmazonLinux2.7.0上启动Python 3.6的一个实例。我确实明白你所指出的-我也没有看到在
列出平台版本下列出的这个版本。我最终只是完全构建了一个新的环境,而不是试图更新一个现有的环境,在某个时候我看到它实际上不受支持,但我还是尝试了。然而,我最终在预配置步骤中遇到了一个错误——目前,我正在推迟升级到Python 3.6平台,但是,一旦我能够弄明白,我仍然渴望这样做。