AWS CLI $PATH 设置
Posted
技术标签:
【中文标题】AWS CLI $PATH 设置【英文标题】:AWS CLI $PATH Settings 【发布时间】: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 命令不能直接工作。
有人可以告诉我可能出了什么问题吗?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于AWS CLI $PATH 设置的主要内容,如果未能解决你的问题,请参考以下文章
python 从AWS CLI凭据设置AWS环境(密钥ID,密钥和令牌)
AWS S3 CLI - 如何使用存储桶上设置的所有当前策略获取 JSON?
使用 AWS CLI 上传到 S3 时如何设置 Content-Type?
是否可以使用 AWS CLI 等到实例“在线”并完成 opsworks 的设置/配置步骤?
如何从无服务器 cli 设置 Cloudformation 完全访问权限
AWS SAM CLI 全新安装引发错误 - dyld:未加载库:@executable_path/../.Python