Rober
Rober

Reputation: 6108

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

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.

Upvotes: 21

Views: 55801

Answers (8)

Rotem jackoby
Rotem jackoby

Reputation: 22188

Another option is to run:

python -m pip install --user boto

pip defaults to installing Python packages to a system directory (such as /usr/local/lib/python3.X).
This requires root access.

--user makes pip install packages in your home directory instead, which doesn't require any special privileges. Read more in here.

(*) Make sure you not use pip install --user pkg_name inside a virtual environment. Read more in here.

Upvotes: 1

Atakan E.
Atakan E.

Reputation: 215

If you are still having issues after downloading boto, make sure your script is able to reach your site-packages by defining the PYTHONPATH environment variable.

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

Upvotes: 3

Sid Mhatre
Sid Mhatre

Reputation: 3417

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.

Upvotes: 4

AKS
AKS

Reputation: 17336

Doing these 3 steps helps in cases there are any error with installing pip/python first.

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py 
$ sudo pip install boto

Or if you are on Mac, then you can try installing Python3.

https://www.python.org/ftp/python/3.5.2/python-3.5.2-macosx10.6.pkg then, Install it (UI way if you want to).

$ sudo pip3 install boto

Upvotes: 1

Stone
Stone

Reputation: 2668

If on OSX w/o pip installed:

sudo easy_install pip
sudo pip install boto

Upvotes: 20

Michael Connor
Michael Connor

Reputation: 4232

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

Upvotes: 8

Diego Mil&#225;n
Diego Mil&#225;n

Reputation: 701

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.

Upvotes: 40

Rober
Rober

Reputation: 6108

See my own comments in the post above.

Upvotes: -10

Related Questions