安装后未将awscli添加到路径

发布于 2021-01-29 15:11:44

我根据亚马逊的官方指示安装了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
被浏览
35
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    改善OP的答案

    OP回答了他们自己的问题,但是可执行文件的确切位置与其相同的可能性更大。因此,让我们细分一下为什么他的解决方案有效,以便您可以将其应用于自己。

    从问题

    位于的文件很多/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site- packages/awscli,但是没有名为aws的可执行文件。

    解决方案

    解决的办法是添加/Library/Frameworks/Python.framework/Versions/3.3/bin到我的PATH。

    让我们学点东西

    比较这些路径以找到它们的共性:

    /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli
    /Library/Frameworks/Python.framework/Versions/3.3/bin
    

    请注意,它们在libvs.处有所分歧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东西安装在哪里。

    这是我的方法:

    $ 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个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
    

    如您所见,我有2个bin文件夹和2个aws可执行文件。我可能想使用Python3.6版本。但是,如果我正在为使用Python2.7版本的远程系统进行本地试验和错误测试,那么我将要使用它。这正是为什么我安装了2个版本的原因。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看