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

Python 在OS X:EB命令中找不到AWS ElasticBeanstalk CLI,python,amazon-web-services,command-line-interface,amazon-elastic-beanstalk,Python,Amazon Web Services,Command Line Interface,Amazon 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--u

尝试在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_配置文件
,以及删除它。当我运行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\u档案

# 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 3+的AWS CLI工具。 pip3安装awscli
  • 已卸载/System/Library/Python的EB CLI。 pip卸载awsebcli
  • 已卸载/Library/Python的EB CLI。 pip卸载awsebcli
  • 使用pip安装了/Library/Python的EB CLI。 pip3安装awsebcli
  • 从my
    ~/.bash\u profile
    中删除了指向站点包目录的路径
  • 将以下内容添加到我的
    ~/.bash\u配置文件中

  • 打开一个新的终端窗口。(也可以运行
    source~/.bash\u profile

  • 已更改为项目目录
  • 运行eb--version并获得以下输出:

    EB CLI 3.9.0 (Python 3.4.4)
    

  • 我意识到发表自己的答案是不酷的,但希望我的尝试和错误将有助于其他路径混乱的人。

    我也面临同样的问题。仅仅升级awsebcli就有帮助了:
    pip安装——升级awsebcli

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

    export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH
    
    并将配置文件设置为

    $ source ~/.zshrc
    
    已安装,
    pip3安装awscli
    pip3安装awsebcli

    检查要验证的版本:

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

    希望这有帮助。

    这在Mac上为我做到了:

    brew install awsebcli
    

    From:

    我也遇到了同样的问题,我按照上提供的说明操作,它正常工作了

  • git克隆https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
  • /aws elastic beanstalk cli安装程序/scripts/bundled_安装程序
  • echo'export PATH=“/home//.ebcli虚拟环境/可执行文件:$PATH”>~/.bash\u配置文件和&source~/.bash\u配置文件
  • 然后,
    eb--version
    给出了预期的输出:

    EB CLI 3.15.3(Python 3.7.2)


    自制解决方案

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

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

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

    你也能粘贴错误吗?根本找不到
    aws
    命令?您是否尝试将其安装在带有-p python3的virtualenv中,以查看其是否也已损坏?此外,您不应在路径中添加网站包,这些是库,不一定是二进制文件。谢谢,Maresh!我在几篇SO帖子的基础上补充了这一点,比如:我应该去掉哪一部分?这条线
    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
    不,发布解决方案很好。你甚至可以在几个小时内批准它,并因此获得一枚徽章:)谢谢!在第三步中,我想您的意思是
    pip3卸载awsebcli
    而不是
    pip卸载awsebcli
    ,这对我来说很有用看到这个答案,我尝试卸载awsebcli,然后安装awscli,然后重新安装awsebcli。工作得很有魅力!错误:您的用户无法写入以下目录:/usr/local/share/man/man8难以置信,这就像一个符咒。我只是按照你所说的升级了,eb版本也得到了回应。谢谢
    brew upgrade awsebcli
    brew link --overwrite aws-elasticbeanstalk
    eb --version