awscli安装后未添加到路径中

14 浏览
0 Comments

awscli安装后未添加到路径中

我按照官方的亚马逊指示安装了aws cli。

sudo pip install awscli

然而,在我的路径中找不到aws。安装似乎成功了。有一些文件位于/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli,但是没有名为aws的可执行文件。我的python版本是3.3.4,pip版本是1.5.4,在OS X 10.9上运行此命令。可能出了什么问题?

谢谢!

0
0 Comments

问题出现的原因是在安装完awscli之后,没有将其添加到系统的环境变量中,导致无法在命令行中直接使用aws命令。

解决方法是根据文档中的提示,找到安装awscli的目录,并将该目录添加到系统的环境变量中。

在现代的macos/OSX系统中,可以通过以下步骤来解决这个问题:

1. 打开终端,输入以下命令:

$ ls -d ~/Library/Python/*/bin/aws

该命令将显示awscli安装的目录,例如:

/Users/bbronosky/Library/Python/3.6/bin/aws

2. 在终端中输入以下命令,将上一步中找到的目录添加到环境变量中:

$ echo 'export PATH=$HOME/Library/Python/3.6/bin:$PATH' >> ~/.bashrc

这将在你的用户目录下的.bashrc文件中添加一行代码,将awscli的安装目录添加到环境变量中。

3. 重启终端或者执行以下命令使修改生效:

$ source ~/.bashrc

现在,你应该能够在命令行中直接使用aws命令了。

希望以上内容对你解决问题有所帮助。

0
0 Comments

问题原因:在安装完awscli之后,没有将其添加到系统的环境变量中,导致无法在命令行中直接使用awscli命令。

解决方法:使用以下命令将awscli添加到系统的环境变量中:

1. 在终端中运行以下命令安装awscli:

sudo -H pip install awscli --upgrade --ignore-installed six

2. 安装完成后,将awscli添加到系统的环境变量中。

这是一种简单且适用于不太熟悉命令行操作的用户的解决方法。同时,这个方法也适用于pip3来安装AWS的Python 3版本。

希望能对大家有所帮助!谢谢!

0
0 Comments

问题:安装完awscli后,执行aws命令时提示找不到命令。

原因:在安装awscli后,没有将其添加到系统的环境变量中。

解决方法:将awscli的执行路径添加到系统的环境变量中。

详细解释:

在问题中,提到了一些文件的路径,但是具体的可执行文件的位置可能会有所不同。所以我们需要弄清楚为什么这个解决方法能够解决问题,并且将其应用到自己的情况中。

根据问题提供的信息,我们可以看到在路径“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli”下有一些文件,但是没有名为aws的可执行文件。

解决方法是将“/Library/Frameworks/Python.framework/Versions/3.3/bin”添加到系统的环境变量中。

我们可以比较一下这两个路径的共同之处,发现它们在“lib”和“bin”这两个文件夹上有所不同。根据问题中提到的“没有名为aws的可执行文件”,我们可以得出以下两个结论:

- 可执行文件通常不会在“lib”文件夹下。

- 查找具有共同源的“bin”文件夹。

在这种情况下,我们可以通过以下命令来查找“bin”文件夹:

find /Library/Frameworks/Python.framework -type d -name bin

如果你要这样做,你可能会直接通过以下命令来搜索可执行文件:

find /Library/Frameworks/Python.framework -type f -perm -100 -name aws

接下来是一个问题:OP是如何知道要在“/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/”下查找的呢?

最简单的答案也是我们要学习的下一个方法:

- 向Python询问安装路径。

这是我询问Python安装路径的方法:

$ python -c 'import awscli; print(awscli)'

$ python3 -c 'import awscli; print(awscli)'

我有两个Python版本,它们都使用不同的路径,与OP的路径也不相同。

根据我们所学的知识,我们可以应用到自己的情况中:

$ find /System/Library/Frameworks/Python.framework -type d -name bin
/System/Library/Frameworks/Python.framework/Versions/2.7/bin
/System/Library/Frameworks/Python.framework/Versions/3.6/bin
$ find /System/Library/Frameworks/Python.framework -type f -perm -100 -name aws
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/aws
/System/Library/Frameworks/Python.framework/Versions/3.6/bin/aws

可以看到,我有两个“bin”文件夹和两个“aws”可执行文件。我可能想要使用Python3.6版本。然而,如果我在本地进行远程系统的试验和错误工作时,我可能希望使用Python2.7版本。这也是为什么我安装了两个版本的原因。

这是我在Stack Overflow上找到的最好的答案之一。谢谢!

你的感受正是我在stackoverflow.com/a/41994024/117471中添加第4步的原因。当你想要快速解决问题时,阅读这样的列表可能很困难。但是,这些只适用于与作者完全相同的系统。我在尝试了所有我能找到的答案但都不起作用后才写这样的答案。这些答案被链接到我的DevOps团队手册中,因为我们有很多非标准系统需要支持。我编写的答案适用于所有这些系统。希望它也适用于更多人。很抱歉它对你不起作用。休息一下吧。

非常感谢你的答案,当有人抽出宝贵的时间为了共同的利益而详细解释事情时,这体现了人性的美好。

如果使用pip和--user进行安装,则可能会出现在/Users/foo.bar/Library/Python/3.5/bin中。

这是正确的,而且新的MacOS安全模型希望使用--user安装而不是sudo安装。这就是为什么python -c 'import awscli; print(awscli)'非常重要。它会检测到这个路径。所有的Stack Overflow答案都应该解释“如何获取答案”,而不是“这对我有效”。并不是要批评。我意识到有些人不知道如何进行这样的研究。在这种情况下,他们的答案可能会帮助其他人进来并将其扩展为更通用的答案。这是一个很好的例子。

根据我的具体经验,你不应该像上面那样使用find命令,而应该使用find <来自Python hack命令行的路径> -name aws

0