AWS ElasticBeanstalk CLI in OS X: EB Command Not Found

0 votes

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
Oct 3, 2018 in AWS by eatcodesleeprepeat
• 4,670 points
633 views

1 answer to this question.

0 votes

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. pip uninstall awsebcli
  3. Uninstalled the EB CLI for /Library/Python. pip 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.

answered Oct 3, 2018 by Priyaj
• 56,960 points

Related Questions In AWS

0 votes
1 answer
0 votes
1 answer
+3 votes
3 answers
0 votes
1 answer