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

问题描述 投票:0回答:9

我尝试在 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
python amazon-web-services command-line-interface amazon-elastic-beanstalk
9个回答
32
投票

经过多次尝试和错误,我终于成功了。这是我采取的步骤。

  1. 安装了适用于 Python 3+AWS CLI 工具

    pip3 install awscli 
    
  2. 卸载了 /System/Library/Python

    EB CLI

    pip3 uninstall awsebcli
    
  3. 卸载了 /Library/Python

    EB CLI

    pip3 uninstall awsebcli
    
  4. 使用 /Library/Python 安装了

    pip
    EB CLI

    pip3 install awsebcli
    
  5. 从我的

    ~/.bash_profile
    中删除了站点包目录的路径。

  6. 将以下内容添加到我的

    ~/.bash_profile

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

    source ~/.bash_profile
    )。

  8. 更改为项目目录。

  9. 运行

    eb --version
    并得到以下输出:

    EB CLI 3.9.0 (Python 3.4.4)
    

我意识到发布自己的答案并不酷,但希望我的尝试和错误会对其他路径混乱的人有所帮助。


22
投票

这在 Mac 上为我完成了:

brew install awsebcli

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


9
投票

我也遇到了同样的问题。只需升级 awsebcli 即可有所帮助:

pip install --upgrade awsebcli


3
投票

我遇到了同样的问题,我按照 aws 官方文档 上提供的说明进行操作,并且成功了。

  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)


1
投票

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

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

并将配置文件设置为

$ source ~/.zshrc

已安装,

pip3 install awscli
pip3 install awsebcli

检查版本以验证:

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

希望这有帮助。


1
投票

自制解决方案

升级到 macOS Big Sur 时,我的

eb
cli 命令停止工作。我的
/usr/local/bin/eb
文件中的 shebang 行引用了旧版本的 Python,该版本因操作系统升级而被淘汰。

我升级并重新链接了

awsebcli
,现在一切都恢复正常了。

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

1
投票

我也有同样的问题。 首次安装时请勿运行“pip install awsebcli --upgrade --user”!改为运行“pip install awsebcli”。

修复步骤:

  • pip 卸载 awsebcli;
  • pip 安装 awsebcli;
  • pip install awsebcli --upgrade --user;

完成上述步骤后,“eb --version”应该显示正确的版本,没有错误。


0
投票

重新安装 awsebcli 时收到此警告: 警告:脚本 eb 和 ebp 安装在“/Users//Library/Python/3.8/bin”中,该路径不在 PATH 上。

在这种情况下,只需将以下路径添加到您的 ~/.bash_profile 中即可正常工作。

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

0
投票

在索诺玛 macOS 14 中 如果您这样做,请从 pip 卸载

pip3 uninstall awsebcli

然后

brew install awsebcli
brew link --overwrite aws-elasticbeanstalk
eb --version
© www.soinside.com 2019 - 2024. All rights reserved.