Reputation: 6108
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
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
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
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
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
Reputation: 2668
If on OSX w/o pip installed:
sudo easy_install pip
sudo pip install boto
Upvotes: 20
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
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