deewilcox
deewilcox

Reputation: 892

AWS ElasticBeanstalk CLI in OS X: EB Command Not Found

I am running into an error attempting to run the ElasticBeanstalk CLI tools on Mac OSX. I have been troubleshooting path issues and hope someone can shed some light. Here is my set up.

I am running Mac OS X El Capital 10.11.6, and I have manually installed Python 3.4 (via the download installer on python.org). I can see that it is installed correctly in /Library/Frameworks/Python.frameworks/Versions. Commands beginning with python3 work as expected. I have also installed the the AWS ElasticBeanstalk CLI tools by running sudo pip3 install --upgrade awsebcli and can confirm it is located in the /Users/myuser/Library/Python/3.4/lib/python/site-packages/ directory.

I have experimented with modifying my ~/.bash_profile, as well as removing it. When I run echo $PATH, here is my output:

/Users/myuser/Library/Python/3.4/lib/python/site-packages/ebcli/:
/Library/Frameworks/Python.framework/Versions/3.4/lib/python/site-packages:
/Library/Frameworks/Python.framework/Versions/3.4/bin:
/Users/myuser/.rvm/gems/ruby-2.2.4/bin:
/Users/myuser/.rvm/gems/ruby-2.2.4@global/bin:
/Users/myuser/.rvm/rubies/ruby-2.2.4/bin:
/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/opt/X11/bin:
/usr/local/git/bin:
/Users/myuser/.rvm/bin

Here is my ~/.bash_profile

# Load the default .profile
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" 

# Load RVM into a shell session *as a function*
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"

# Setting PATH for Python 3.4 site packages
PATH="/Library/Frameworks/Python.framework/Versions/3.4/lib/python/site-packages:${PATH}"
PATH="/Users/myuser/Library/Python/3.4/lib/python/site-packages/ebcli/:${PATH}"
export PATH

Upvotes: 21

Views: 26347

Answers (9)

Soberbia
Soberbia

Reputation: 11

In Sonoma macOS 14 Uninstall from pip if you did

pip3 uninstall awsebcli

And then

brew install awsebcli
brew link --overwrite aws-elasticbeanstalk
eb --version

Upvotes: 0

deewilcox
deewilcox

Reputation: 892

After a lot more trial and error, I finally got this working. Here are the steps I took.

  1. Installed the AWS CLI tools for Python 3+.

    pip3 install awscli 
    
  2. Uninstalled the EB CLI for /System/Library/Python.

    pip3 uninstall awsebcli
    
  3. Uninstalled the EB CLI for /Library/Python.

    pip3 uninstall awsebcli
    
  4. Installed the EB CLI for /Library/Python with pip.

    pip3 install awsebcli
    
  5. Removed the paths to the site packages directories from my ~/.bash_profile.

  6. Added the following to my ~/.bash_profile.

    # Setting the path for Python 3.4
    PATH="/Library/Frameworks/Python.framework/Versions/3.4:${PATH}"
    export PATH
    
  7. Opened a new terminal window. (Can also run source ~/.bash_profile).

  8. Changed into the project directory.

  9. Ran eb --version and got the following output:

    EB CLI 3.9.0 (Python 3.4.4)
    

I realize it's uncool to post one's own answer, but hopefully my trial and error will be helpful to someone else with messed up paths.

Upvotes: 33

Mykola Bisovskyi
Mykola Bisovskyi

Reputation: 11

I had the same issue. Do not run "pip install awsebcli --upgrade --user" when you install it for the first time! Run "pip install awsebcli" instead.

Steps to fix it:

  • pip uninstall awsebcli;
  • pip install awsebcli;
  • pip install awsebcli --upgrade --user;

After all above steps "eb --version" should display the correct version with no errors.

Upvotes: 1

call me tiger
call me tiger

Reputation: 1

I get this warning when reinstall awsebcli: WARNING: The scripts eb and ebp are installed in '/Users//Library/Python/3.8/bin' which is not on PATH.

In this case just add below path into your ~/.bash_profile is working fine.

export PATH=/Users/<you>/Library/Python/3.8/bin:$PATH

Upvotes: 0

Derek Soike
Derek Soike

Reputation: 11650

Homebrew Solution

When upgrading to macOS Big Sur, my eb cli command stopped working. The shebang line in my /usr/local/bin/eb file was referencing an old version of python that got blown away with the os upgrade.

I upgraded and re-linked the awsebcli and all is now working again.

brew upgrade awsebcli
brew link --overwrite aws-elasticbeanstalk
eb --version

Upvotes: 1

Louis
Louis

Reputation: 2013

I had the same problem, I followed the instructions provided on aws official doc and it worked.

  1. git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
  2. ./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer
  3. echo 'export PATH="/home/<YOUR_USERNAME>/.ebcli-virtual-env/executables:$PATH"' >> ~/.bash_profile && source ~/.bash_profile

Then eb --version gave the expected output :

EB CLI 3.15.3 (Python 3.7.2)

Upvotes: 3

ElliottInvent
ElliottInvent

Reputation: 221

This did it for me on Mac:

brew install awsebcli

From: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html

Upvotes: 22

Sharukh Mastan
Sharukh Mastan

Reputation: 1591

Was having Zsh, this is what worked for me. Installed the latest python package from the main python website, and then:

export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH

And setting the profile to

$ source ~/.zshrc

Installed, pip3 install awscli and pip3 install awsebcli

Check version to verify:

eb --version // EB CLI 3.12.4 (Python 3.6.4)

Hope this helps.

Upvotes: 1

Ash Singh
Ash Singh

Reputation: 4817

I faced the same problem. Just upgrading the awsebcli can help : pip install --upgrade awsebcli

Upvotes: 10

Related Questions