我根据亚马逊的官方指示安装了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 :(得分:91)
OP回答了他们自己的答案,但可执行文件的确切位置更可能与它们相同。所以,让我们分解为什么他的解决方案有效,所以你可以将它应用到自己身上。
有许多文件位于
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
,但是没有名为aws的可执行文件。
解决方法是将
/Library/Frameworks/Python.framework/Versions/3.3/bin
添加到我的路径中。
比较这些路径以找到它们的共性:
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
/Library/Frameworks/Python.framework/Versions/3.3/bin
请注意,它们在lib
与bin
之间存在分歧。并且考虑到OP声明,“没有名为aws的可执行文件。”这将我们带到了第一次学习课程:
lib
个文件夹中。bin
个文件夹。在这种情况下,我建议通过以下方式查找bin
个文件夹:
find /Library/Frameworks/Python.framework -type d -name bin
但是,如果您打算这样做,您也可以通过以下方式搜索您的可执行文件:
find /Library/Frameworks/Python.framework -type f -perm -100 -name aws
# the `-` in `perm -100` means not an exact match of 100
# but any octal that includes 100
OP如何知道他们的/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/
?
最简单的答案也是我们的下一个学习课程:
我是这样做的:
$ python -c 'import awscli; print(awscli)'
<module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awscli/__init__.pyc'>
$ python3 -c 'import awscli; print(awscli)'
<module 'awscli' from '/System/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/awscli/__init__.py'>
我有2个蟒蛇,他们都没有使用与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
如您所见,我有2个bin
个文件夹和2个aws
个可执行文件。我可能想要使用Python3.6版本。但是,如果我正在为使用Python2.7版本的远程系统进行本地试验和错误工作,我将要使用它。这正是我安装了2个版本的原因。
答案 1 :(得分:38)
来自http://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html#awscli-install-osx-path
对于Modern macos / OSX,您需要找到~/Library/Python/$version/bin
目录并将其添加到$PATH
。这将帮助您找到安装aws
的那个。
$ ls -d ~/Library/Python/*/bin/aws
/Users/bbronosky/Library/Python/3.6/bin/aws
基于此,我将此行添加到.bashrc
export PATH=$HOME/Library/Python/3.6/bin:$PATH
答案 2 :(得分:37)
这对我来说很有用:
sudo -H pip install awscli --upgrade --ignore-installed six
答案 3 :(得分:10)
解决方案是添加
/Library/Frameworks/Python.framework/Versions/3.3/bin
到我的路径。
答案 4 :(得分:7)
在ubuntu上并安装了不带sudo的pip3时,要添加到我的路径的正确位置是~/.local/bin
:
export PATH=$HOME/.local/bin:$PATH
答案 5 :(得分:3)
我从OSX 10.7升级到OSX 10.9,之后,我的aws安装不再有效。
我发现了这样的错误:
$ pip
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
working_set.require(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.5.5
操作系统升级已更改权限的解决方案。
赠品线索:
sudo pip&lt; --- working
pip&lt; ---失败
所以我这样做了:
sudo chmod -R a+r /Library/Python/
然后,我可以再次使用aws命令。
不确定这是否会对其他人有所帮助,但我想把它扔进去。
答案 6 :(得分:2)
可以使用pip show awscli
查找安装位置。
$ pip show awscli
Name: awscli
Version: 1.16.94
Summary: Universal Command Line Environment for AWS.
Home-page: http://aws.amazon.com/cli/
Author: Amazon Web Services
Author-email: UNKNOWN
License: Apache License 2.0
Location: /root/.local/lib/python2.7/site-packages
Requires: s3transfer, colorama, rsa, docutils, botocore, PyYAML
Required-by:
答案 7 :(得分:1)
在virtualenv中安装时:'pip install awscli'(不带sudo)在OS X上工作正常;但不是在CentOS版本6.6上,例如'哪个'找不到任何东西。解决方案:
chmod u+x /PATH-TO-YOUR-VIRTUALENV/bin/aws
答案 8 :(得分:1)
paths
文件。如果您没有管理员权限,请务必使用最佳答案,但如果您这样做,我强烈建议您直接编辑位于paths
的{{1}}个文件。
使用您喜欢的编辑器,只需将所需路径粘贴到新行:
示例/etc/paths
文件:
paths
粘贴在顶部或底部,或者按照您希望搜索二进制文件的位置的顺序(如果存在具有重复名称的二进制文件)。
如果您编写错误的导出语句,使用/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Users/username/Library/Python/3.6/bin #new path added here at bottom of file
文件可以省去记住串联语法或潜在问题的麻烦。
答案 9 :(得分:1)
我通常要做的是将可执行文件复制到 / usr / local / bin
cp $(find / -name aws) /usr/local/bin
答案 10 :(得分:1)
export PATH=/Users/{Computer Name}/Library/Python/2.7/bin:$PATH
答案 11 :(得分:0)
Windows可能是这里的少数,但下面添加到我的PATH为我工作。作为参考,我通过pip安装了CLI:
C:\Python27\Scripts
答案 12 :(得分:0)
我在Windows 10上遇到类似的问题。我必须在下面的PATH
变量中添加
对于 Python :
C:\Users\kumar\AppData\Local\Programs\Python\Python37\
对于 PIP :
C:\Users\kumar\AppData\Local\Programs\Python\Python37\Scripts\
要使 awscli 正常工作:
C:\Users\kumar\AppData\Roaming\Python\Python37\Scripts
答案 13 :(得分:0)
检查您的python版本,但我猜您正在使用python 3.3
export PATH = $ HOME / Library / Python / 3.3 / bin:$ PATH
答案 14 :(得分:0)
另一种方法是通过https://cloudacademy.com/blog/how-to-use-aws-cli/上的方法安装aws-cli软件包。这对我有用:)
答案 15 :(得分:-1)
只需下载并安装MSI安装程序(64位或32位) Install or update the AWS CLI version 2 on Windows using the MSI installer
安装后,您可能会得到错误“'aws'”未被识别为内部或外部命令,可操作程序或批处理文件。“
只需检查环境变量,变量名称必须为'PATH',并输入值“ C:\ Program Files \ Amazon \ AWSCLIV2” 关闭命令提示符窗口,然后重新打开它。该问题将得到解决。