AWS's Elastic Beanstalk not using my virtualenv: “No module named boto”

前端 未结 2 643
忘掉有多难
忘掉有多难 2021-01-25 00:33

I\'m trying to use AWS\'s Elastic Beanstalk, but when I run eb start, I get \"ImportError: No module named boto Cannot run aws.push for local repository HEAD.\"

2条回答
  •  臣服心动
    2021-01-25 01:40

    OK, this is a hack, and an ugly one, but it worked.

    Now, the error is happening on the local machine, nothing to do with remote.

    I have boto installed locally and I am NOT using virtualenv (for reasons of my own, to test a more barebones approach).

    1 note where the error is happening - in .git/AWSDevTools/aws/dev_tools.py

    2 run a non-virtualenv python and

    import boto print boto.file /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/init.pyc

    3 open up that dev_tools.py and add this on top:

    import sys sys.path.append("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages")

    Since you are appending to sys.path, you will only import modules from that addition if git aws.push hasn't found it in its own stuff.

    That fixes the problem for now, except that it will re-occur on the next directory where you do an "eb init"

    4 Go to where you have unzipped the CLI. In my case:

    $cd ~/bin/AWS-ElasticBeanstalk-CLI-2.6.1

    now

    5 look for the original of dev_tools.py used by eb init

    $find ~/bin -name dev_tools.py ~/bin/AWS-ElasticBeanstalk-CLI-2.6.1/AWSDevTools/Linux/scripts/aws/dev_tools.py

    edit this file as in #3

    if you do another eb init elsewhere you will see that your ugly hack is there as well.

    Not great, but it works.

    p.s. sorry for the formatting, newbie here, it's late and I wanna go skating.

提交回复
热议问题