【问题标题】:AWS ElasticBeanstalk CLI in OS X: EB Command Not FoundOS X 中的 AWS ElasticBeanstalk CLI:未找到 EB 命令
【发布时间】:2017-05-18 02:31:02
【问题描述】:

我尝试在 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

【问题讨论】:

  • 您也可以粘贴错误吗?根本找不到aws 命令?您是否尝试使用 -p python3 将其安装在 virtualenv 中以查看是否也损坏了?
  • 另外,您不应该在 PATH 中添加站点包,这些库不是(必须)二进制文件。
  • 谢谢,马雷什!我根据一些 SO 帖子添加了这一点,例如:stackoverflow.com/questions/33302372/… 我应该取出哪个部分?这条线? 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}" 或两者兼而有之?
  • 另外,回答你的第一个问题,我在运行eb --version 时遇到的错误是:-bash: eb: command not found

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


【解决方案1】:

经过多次反复试验,我终于得到了这个工作。以下是我采取的步骤。

  1. 为 Python 3+ 安装了 AWS CLI 工具。 pip3 安装 awscli
  2. 为 /System/Library/Python 卸载了 EB CLI。 pip 卸载 awsebcli
  3. 为 /Library/Python 卸载了 EB CLI。 pip 卸载 awsebcli
  4. 使用 pip 为 /Library/Python 安装了 EB CLI。 pip3 安装 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)
    

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

【讨论】:

  • 不,您发布解决方案很好。您甚至可以在几个小时内批准它并获得一个徽章:)
  • 谢谢!在第三步中,我认为您的意思是 pip3 uninstall awsebcli 而不是 pip uninstall awsebcli,这对我有用?
  • 看到这个答案,我尝试卸载 awsebcli,然后安装 awscli,然后我重新安装了 awsebcli。像魅力一样工作!
【解决方案2】:

这是在 Mac 上为我完成的:

brew install awsebcli

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

【讨论】:

  • 错误:您的用户不可写以下目录:/usr/local/share/man/man8
【解决方案3】:

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

【讨论】:

  • 令人难以置信,这就像一个魅力。我刚刚按照您所说的进行了升级,并且 eb --version 得到了回应。谢谢。
  • 在 Windows 10 上,eb --version 导致“无法识别为内部或外部命令、可运行程序或批处理文件”;这个命令 pip install --upgrade awsebcli 有帮助。
【解决方案4】:

我遇到了同样的问题,我按照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)

【讨论】:

    【解决方案5】:

    有 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)
    

    希望这会有所帮助。

    【讨论】:

      【解决方案6】:

      自制解决方案

      升级到 macOS Big Sur 时,我的 eb cli 命令停止工作。我的/usr/local/bin/eb 文件中的shebang 行引用了旧版本的python,它被操作系统升级所震撼。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-25
        • 2015-07-20
        • 2017-04-02
        • 2014-10-20
        • 2021-12-25
        • 2021-12-18
        • 2012-05-21
        相关资源
        最近更新 更多