安装EB CLI 3.x后出错

时间:2014-12-25 00:41:00

标签: python python-2.7 amazon-web-services elastic-beanstalk

我正在尝试使用这些说明在EC2实例(运行AMI)上安装弹性beanstalk CLI:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-getting-started.html

我安装了python 2.7.9,pip和eb。但是,当我尝试运行eb时,我收到以下错误。它看起来仍然在使用python 2.6。你是怎么解决的?

谢谢!

Traceback (most recent call last):
  File "/usr/bin/eb", line 9, in <module>
    load_entry_point('awsebcli==3.0.10', 'console_scripts', 'eb')()
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 473, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 2568, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.6/site-packages/pkg_resources/__init__.py", line 2259, in load
    ['__name__'])
  File "/usr/lib/python2.6/site-packages/ebcli/core/ebcore.py", line 23, in <module>
    from ..controllers.initialize import InitController
  File "/usr/lib/python2.6/site-packages/ebcli/controllers/initialize.py", line 16, in <module>
    from ..core.abstractcontroller import AbstractBaseController
  File "/usr/lib/python2.6/site-packages/ebcli/core/abstractcontroller.py", line 21, in <module>
    from ..core import io, fileoperations, operations
  File "/usr/lib/python2.6/site-packages/ebcli/core/operations.py", line 762
    vars = {n['OptionName']: n['Value'] for n in settings
                                          ^
SyntaxError: invalid syntax

3 个答案:

答案 0 :(得分:1)

Pip可能是用Python 2.6而不是python 2.7设置的。

pip --version

您可以使用Python 2.7重新安装pip,然后重新安装2.6

pip uninstall awsebcli
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install awsebcli

答案 1 :(得分:0)

我遇到了同样的问题,我的修复实际上是升级到最新的Beanstalk堆栈(@app.route('/ValidateLogin',methods=['POST']) def ValidateLogin(): try: _username = request.form['username'] _password = request.form['password'] #connection to MySQL cur = mysql.connection.cursor() cur.callproc('sp_validateLogin', (_username,)) data = cur.fetchall() if len(data) > 0: if check_password_hash(str(data[0][3]), _password): session['user'] = data[0][0] return redirect('/UserHome') else: return render_template('error.html', error = 'Wrong Email Address or Password') else: return render_template('error.html', error = "Invalid Email Address or Password") except Exception as e: return render_template('error.html', error = str(e)) finally: cur.close() )。 请注意有停机时间等。请调查是否可以在升级之前运行最新的堆栈。

答案 2 :(得分:-1)

对我来说,“最聪明”的解决方案是安装python-dev工具

sudo apt install python-dev

在这里找到:

http://ericbenson.azurewebsites.net/deployment-on-aws-elastic-beanstalk-for-ubuntu/