AWS aws.push ImportError: No module named boto in Ubuntu

49,837

Solution 1

See my own comments in the post above.

Solution 2

What happened is that the eb command line interface available in that specific AWS tutorial (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html) does not provide the latest version of boto.

When you did

pip install boto

you installed the latest version from https://github.com/boto/boto which solved the issue.

Solution 3

If on OSX w/o pip installed:

sudo easy_install pip
sudo pip install boto

Solution 4

Make sure when you install Python modules that you look at the output to verify that the install happened properly. On Mac/Linux I had to run sudo to get boto to install properly.

sudo pip install boto

Solution 5

I had face same issue with boto installation on Mac OS High Sierra :

boto required PYTHONPATH to be set in system. First install boto :

sudo pip install boto

After installation it will return path where boto is installed in logs. Use same path to add export as PYTHONPATH

Requirement already satisfied: boto in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (2.48.0)

export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

After adding PYTHONPATH python will able to detect boto module in system.

Share:
49,837

Related videos on Youtube

Rober
Author by

Rober

Updated on July 09, 2022

Comments

  • Rober
    Rober almost 2 years

    I'm trying to follow this tutorial: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html

    in order to deploy a Ruby on Rails app in AWS with Ubuntu.

    Everything went ok (I can run my app in local), until the final step. When I run aws.push I get next error.

       roberto@ubuntu:~/dev/myapp$ git aws.push
    Traceback (most recent call last):
      File ".git/AWSDevTools/aws.elasticbeanstalk.push", line 21, in <module>
        from aws.dev_tools import * 
      File "/home/roberto/dev/myapp/.git/AWSDevTools/aws/dev_tools.py", line 5, in <module>
        import boto
    ImportError: No module named boto
    

    I have read this post git aws.push: No module named boto and run:

    pip install boto
    pip freeze > reqIuirements.txt
    git add .
    git commit -m "Added boto"
    git aws.push
    

    But still the same result.

    UPDATE: I think the problem is related to my python versions. When I run which python I get /usr/bin/python. If I do ls this folder I see python, python2, python2.7, python3, python3.4.

    When I run python I get:

    Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
    [GCC 4.8.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    

    I don't know what to do.

    The problem was the first boto installation it didn't work due to permissions problems, and I didn't realize. I ran sudo pip install boto and everything went OK this time.

    • Gabriel
      Gabriel over 9 years
      I had the same problem, I fixed it doing this: stackoverflow.com/questions/23354411/…
    • developer
      developer over 3 years
      just incase this helps people -- I also used: sudo pip install boto to install, but the permissions were then wrong - and had to chmod 755 on the installed packages to fix
  • Rober
    Rober almost 10 years
    Thank you for the clarification Diego.
  • Ben Sinclair
    Ben Sinclair over 9 years
    Super easy way to install pip. Thanks Stone!
  • Stone
    Stone over 9 years
    It's my pleasure Sinclair!
  • WEBjuju
    WEBjuju over 5 years
    bingo - may devops no longer be hacky one day - until then, thank goodness for answers which are like cool water upon the head of a mac user