【问题标题】:AWS CLI $PATH SettingsAWS CLI $PATH 设置
【发布时间】:2014-12-21 20:16:31
【问题描述】:

我正在关注AWS CLI Setup guide。我已经成功地在我的 Mac OS X 终端上安装了该工具,输出如下:

Running cmd: /usr/bin/python virtualenv.py --python /usr/bin/python /Users/fr/.local/lib/aws
Running cmd: /Users/fr/.local/lib/aws/bin/pip install --no-index --find-links file:///Users/fr/Downloads/awscli-bundle/packages awscli-1.5.3.tar.gz
You can now run: /Users/fr/.local/lib/aws/bin/aws --version

我的问题是我必须输入完整路径 /Users/fr/.local/lib/aws/bin/aws 才能执行任何 aws 命令。按照指南的最后一步,我应该可以直接执行 aws 命令,而无需输入执行的绝对路径。

当我尝试仅使用 aws 时,我得到以下输出:

aws --version                                                                                         ⏎
command not found: aws

我按照说明确保 ~/bin 在我的 PATH 环境中并且我可以看到没有输出,因此我执行了导出 PATH=~/bin:$PATH 命令将 ~/bin 添加到 $PATH。但这并没有什么不同。 aws 命令不能直接工作。

有人可以告诉我可能出了什么问题吗?

【问题讨论】:

    标签: macos amazon-web-services aws-cli


    【解决方案1】:

    这是在 mac OSX 上安装 AWS cli 的三个步骤(curl 或 wget)第三步将正确设置路径

    $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
    $ unzip awscli-bundle.zip
    $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    

    另一个最简单的方法是使用自制软件

    brew install awscli
    

    如果你想要开发版本,你可以做

    brew install awscli --HEAD
    

    【讨论】:

    • brew install awscli 是我的最佳选择
    • omg.. 经过 1 个小时的尝试让 cli 正常工作,brew install awscli 工作起来就像一个魅力。谢谢!
    • 谢谢! Brew 因权限问题而失败 Error: An unexpected error occurred during the 'brew link' step,但 curl 有效。
    • brew install awscli 是最直接的一个
    • 请注意文档中的说明:Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLI,因此请务必在安装后检查版本。
    【解决方案2】:

    这对我有用(注意:将 2.7 更改为您的特定 Python 版本):

    export PATH=~/Library/Python/2.7/bin/:$PATH
    

    您可能希望将其添加到 .bash_profile 的末尾,使用:

    sudo nano ~/.bash_profile
    

    【讨论】:

      【解决方案3】:

      当你运行命令时: pip3 install awscli --upgrade --user

      仔细观察 aws cli 工具的安装位置,您可以在终端日志中看到路径,在我的情况下,我得到了这样的信息:

      awscli in ./Library/Python/3.6/lib/python/site-packages

      现在您应该将相同的路径添加到您的 .bash_profile 但在 bin 文件夹中(从 lib 路径中删除,而不是放置您的 bin 路径),如下所示:

      export PATH=/Users/xuser/Library/Python/3.6/bin/:$PATH

      【讨论】:

      • 你的帖子对我有帮助。
      • 这让我很开心
      • 在 python 2.7 上,它被添加到 ./Library/Python/2.7/bin
      • 对我来说最好的答案。仅仅使用 brew 来解决问题是没有意义的。最好知道它为什么坏了!谢谢胡安
      【解决方案4】:

      我使用Homebrew 安装了 AWS CLI,我对结果非常满意。只需输入:

      $ brew install awscli
      

      安装 brew 之后。

      注意,AWS CLI installation page 上有以下免责声明:

      awscli 包可能在其他包管理器(例如 APT、yum 和 Homebrew)的存储库中可用,但不能保证是最新版本。

      也就是说,我没有发现这有什么问题,awscli.rb 已经经常更新以匹配最新版本。


      更新:GitHub issue 建议应在 AWS CLI 安装说明中添加 Homebrew 作为替代方案。这个问题后来被这个UserVoice feature request关闭了。

      【讨论】:

        【解决方案5】:

        这也发生在我身上,我不想再安装 brew,因为一切都运行良好。我还按照 AWS 网站上的“教程”进行操作,但在导出路径步骤中遇到了问题。

        基本上,它添加了一个不同的 python 文件夹作为下载 awscli 的文件夹。所以而不是export PATH=~/.local/bin:$PATH 他们建议我使用磁盘的完整路径: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

        【讨论】:

          【解决方案6】:

          试试:

          PATH=/Users/fr/.local/lib/aws/bin:$PATH 
          

          (放入.profile文件)

          还可以尝试使用 homebrew 安装 aws cli。它会自动将其添加到您的路径中。

          【讨论】:

            【解决方案7】:

            有时,当类路径在 mac 上搞砸时 - 您总是可以运行以在本地修复 aws cli

            $ brew install awscli
            

            这将重用和更新现有的包并设置正确的类路径

            【讨论】:

              【解决方案8】:

              我刚刚遇到了同样的错误,我可以通过在我的 .bash_profile 文件中添加以下行来解决它:

              export PATH=~/Library/Python/2.7/bin/:$PATH

              请检查 Python 的版本,因为它在您的系统上可能会略有不同。这样可以避免将您的用户名文件夹添加到 .bash_profile 文件中。

              【讨论】:

                【解决方案9】:

                如果您的系统上有 Anaconda 版本的 python,请使用 conda 安装 awscli:

                conda install -c conda-forge awscli
                

                【讨论】:

                • 这对我有用,但我不知道为什么。我的 conda 环境已停用,我使用 pip3 作为安装命令,所以我预计 conda 根本不会出现在图片中。你能解释一下为什么会这样吗?
                【解决方案10】:

                确保python全局安装,步骤如下:

                在 AWS 方面:

                转到亚马逊 AWS 中心 -> 服务 -> 身份和访问管理 (IAM) -> 用户 -> 找到您的用户并点击它 -> 选择安全 凭据选项卡 -> 创建访问密钥

                安装:在命令行/bash

                curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
                unzip awscliv2.zip
                sudo ./aws/install
                

                可选:如果尚未找到 aws 版本,请在您的 bash 配置文件中设置 aws 路径。

                vim ~/.bash_profile
                #paste this line
                PATH=$PATH:/usr/local/bin/aws
                

                配置:(最后一步)如下配置您的凭据

                aws configure
                

                填写您从 aws 网站获得的属性并连接您的帐户。附上此步骤的示例。

                AWS 访问密钥 ID [无]:abcd

                AWS 秘密访问密钥 [无]:zyx123!@#

                默认区域> 名称 [无]:us-east-1

                默认输出格式[无]:json

                祝你好运!

                【讨论】:

                  【解决方案11】:

                  我个人在使用 aws CodeBuild 时遇到了同样的问题 - 我无法使用 aws cli。我通过在我的 docker 映像上全局安装 aws 来解决它(而不是在本地安装给用户)。

                  RUN pip install awscli --upgrade 
                  
                  (instead of RUN pip install awscli --upgrade --user)
                  

                  它对我有用,如果这可以帮助任何人!

                  【讨论】:

                    【解决方案12】:

                    我最终做了与 Piotr 相同的事情,很高兴了解如何在没有 3rd 方软件的情况下更新您的路径。然而,随着 3rd 方软件的发展,Homebrew 非常棒,使用它来将您的依赖符号链接控制在​​一个地方是一件好事。 mac 上事实上的 pkg mgr。

                    【讨论】:

                      【解决方案13】:

                      这似乎是虚拟环境方法: https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-virtualenv.html

                      不激活 virtualenv: source ~/cli-ve/bin/activate 在文档示例中。

                      【讨论】:

                        【解决方案14】:

                        看看https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html上的注释

                        默认情况下,安装脚本在 Python 的系统默认版本下运行。如果您已安装 Python 的替代版本并希望使用它来安装 AWS CLI,请通过 Python 可执行文件的绝对路径运行具有该版本的安装脚本。

                        对于运行安装可执行文件的步骤

                        而不仅仅是做:

                        $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

                        例如找出你的 python 的安装位置

                        $ which python

                        然后使用路径来安装可执行文件之类的

                        $ sudo <path from executing which python> awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

                        以上应该可以解决问题。

                        【讨论】:

                          【解决方案15】:

                          我尝试使用 CLI

                          $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
                          
                          $ unzip awscli-bundle.zip
                          
                          $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
                          

                          【讨论】:

                            猜你喜欢
                            • 2021-01-21
                            • 1970-01-01
                            • 1970-01-01
                            • 2016-01-25
                            • 2015-03-29
                            • 1970-01-01
                            • 2014-07-11
                            • 2016-11-01
                            • 1970-01-01
                            相关资源
                            最近更新 更多