ImportError: No module named boto3

20,274

Solution 1

sudo pip install boto3 installs it to your global pip. Explained here: Unable to install boto3

You can activate your venv, install boto3 without sudo and start python:

$ source path/to/your/ENV/bin/activate
$ pip install boto3
$ python

Or if you prefer to use your global installation do:

$ deactivate
$ pip install boto3
$ python

Check out the virtualenv user guide: https://virtualenv.pypa.io/en/latest/userguide.html

Also virtualenvwrapper makes it really easy to manage: https://virtualenvwrapper.readthedocs.org/en/latest/install.html

Solution 2

Globally for my mac, this worked

sudo pip install --ignore-installed six boto3

Solution 3

Try to activate your virtual environment

source bin/activate

Then try connecting installing boto3

pip install boto3

Share:
20,274
Anna23
Author by

Anna23

Software Engineer

Updated on July 19, 2022

Comments

  • Anna23
    Anna23 almost 2 years

    Installed the boto3 and upgraded it to the latest release. I tried the easy install pip for installation. I have multiple versions of python installed so I even tried installing in virtualenv venv. But I get the same error: "No module named boto3".

    pip install boto3
    
    python
    Python 2.7.11 (default, Mar 10 2016, 14:12:44)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import boto3
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named boto3
    >>>
    

    I tried with / without sudo:

    sudo pip install boto3
    

    I`m trying to install AWS SDK on Raspberry Pi.

    pip freeze
    

    shows "boto3==1.3.0" installed.

    sudo pip install boto3
    
    Requirement already satisfied (use --upgrade to upgrade): boto3 in    /usr/local/lib/python2.7/dist-packages
    Requirement already satisfied (use --upgrade to upgrade): botocore>=1.4.1, <1.5.0 in /usr/local/lib/python2.7/dist-packages (from boto3)
    Requirement already satisfied (use --upgrade to upgrade): jmespath>=0.7.1,<1.0.0 in /usr/local/lib/python2.7/dist-packages (from boto3)
    Requirement already satisfied (use --upgrade to upgrade): futures>=2.2.0,<4.0.0 in /usr/local/lib/python2.7/dist-packages (from boto3)
    Requirement already satisfied (use --upgrade to upgrade): python-dateutil>=2.1,<3.0.0 in /usr/local/lib/python2.7/dist-packages (from botocore>=1.4.1,<1.5.0->boto3)
    Requirement already satisfied (use --upgrade to upgrade): docutils>=0.10 in /usr/local/lib/python2.7/dist-packages (from botocore>=1.4.1,<1.5.0->boto3)
    Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/local/lib/python2.7/dist-packages (from python-dateutil>=2.1,<3.0.0->botocore>=1.4.1,<1.5.0->boto3)
    Cleaning up...
    
  • dillon.harless
    dillon.harless over 4 years
    If this isn't working for you, refer here: stackoverflow.com/questions/20952797/…
  • Sameer Kumar
    Sameer Kumar over 3 years
    @BaseDesire 'six' happens to be a dependency for the boto3 package More: github.com/pypa/pip/issues/3165