OS X中的AWS ElasticBeanstalk CLI:找不到EB命令

时间:2017-01-03 21:53:43

标签: python amazon-web-services command-line-interface elastic-beanstalk

我在尝试在Mac OSX上运行ElasticBeanstalk CLI工具时遇到错误。我一直在解决路径问题,希望有人可以解决问题。这是我的设置。

我正在运行Mac OS X El Capital 10.11.6,我手动安装了Python 3.4(通过python.org上的下载安装程序)。我可以看到它已在/Library/Frameworks/Python.frameworks/Versions中正确安装。以python3开头的命令按预期工作。我还通过运行sudo pip3 install --upgrade awsebcli安装了AWS ElasticBeanstalk CLI工具,并确认它位于/Users/myuser/Library/Python/3.4/lib/python/site-packages/目录中。

我已经尝试修改我的~/.bash_profile,并将其删除。当我运行echo $PATH时,这是我的输出:

/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

这是我的~/.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

6 个答案:

答案 0 :(得分:24)

经过更多的反复试验后,我终于开始了这项工作。以下是我采取的步骤。

  1. 安装了适用于Python 3+的AWS CLI工具。 pip3 install awscli
  2. 卸载了/ System / Library / Python的EB CLI。 pip uninstall awsebcli
  3. 卸载/ Library / Python的EB CLI。 pip uninstall awsebcli
  4. 使用pip为/ Library / Python安装了EB CLI。 pip3安装awsebcli
  5. 从我的timestamp
  6. 中删除了站点包目录的路径
  7. ~/.bash_profile添加了以下内容。

    ~/.bash_profile
  8. 打开一个新的终端窗口。 (也可以运行# Setting the path for Python 3.4 PATH="/Library/Frameworks/Python.framework/Versions/3.4:${PATH}" export PATH )。

  9. 已更改为项目目录。
  10. source ~/.bash_profile并获得以下输出:

    eb --version
  11. 我发现发布一个自己的答案是不太酷的,但希望我的试错将对其他有混乱路径的人有所帮助。

答案 1 :(得分:13)

这是在Mac上为我做的:

brew install awsebcli

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

答案 2 :(得分:1)

我遇到了同样的问题。只需升级awsebcli即可:pip install --upgrade awsebcli

答案 3 :(得分:1)

我遇到了同样的问题,我按照aws official doc提供的说明进行了操作。

  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

然后eb --version给出了预期的输出:

  

EB CLI 3.15.3(Python 3.7.2)

答案 4 :(得分:0)

有了Zsh,这对我有用。从主python网站安装了最新的python包,然后:

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

将个人资料设为

$ source ~/.zshrc

已安装,pip3 install awsclipip3 install awsebcli

检查版本以验证:

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

希望这有帮助。

答案 5 :(得分:0)

自制解决方案

升级到 macOS Big Sur 时,我的 eb cli 命令停止工作。我的 /usr/local/bin/eb 文件中的 shebang 行引用了旧版本的 python,该版本因 os 升级而崩溃。

我升级并重新链接了 awsebcli,现在一切又恢复正常了。

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