获取“ImportError: cannot import name check_output”(EB CLI上的git aws.push)
我在我的Mac上安装并配置了AWS Elastic Beanstalk命令行工具。
这是我安装的内容:
$ python --version
Python 2.7
$ ruby --version
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin10.8.0]
$ eb --version
AWS Elastic Beanstalk Command Line Interface v2.6.3
我已经正确配置了EB,以便可以用git和AWS一起使用。
但是,当我尝试把一个提交推送到AWS时,出现了这个错误:
$ git aws.push
Traceback (most recent call last):
File ".git/AWSDevTools/aws.elasticbeanstalk.push", line 21, in <module>
from aws.dev_tools import *
File "/Applications/MAMP/htdocs/innbativel/.git/AWSDevTools/aws/dev_tools.py", line 3, in <module>
from subprocess import check_output
ImportError: cannot import name check_output
有没有人知道为什么会这样,以及怎么解决这个问题?
1 个回答
5
我发现我的Mac系统自带的是python 2.6(这个版本没有check_output
这个功能),而我安装的python 2.7和它发生了冲突,这个版本是为了使用EB CLI。
为了解决这个问题,我在.git/AWSDevTools/aws.elasticbeanstalk.push
文件的第一行指定使用python 2.7:
#!/usr/bin/env python2.7