awscli无法工作:没有名为“awscli”的模块。

时间:2017-05-09 15:15:14

标签: python-3.x pip aws-cli

我正在尝试在Linux Mint 17.2 Rafaela上使用pip3安装awscli。

我收到错误:

Traceback (most recent call last):
  File "/home/jonathan/.local/bin/aws", line 19, in <module>
    import awscli.clidriver
ImportError: No module named 'awscli'

这是我正在采取的步骤,遵循aws安装指南:

sudo pip install awscli --upgrade --user
一切似乎安装得很好。

添加到我的.bashrc

export PATH=~/.local/bin:$PATH

然后

source ~/.bashrc

然后我尝试命令

aws --version

我得到了

Traceback (most recent call last):
  File "/home/jonathan/.local/bin/aws", line 19, in <module>
    import awscli.clidriver
ImportError: No module named 'awscli'

任何人都可以帮忙吗?

编辑:对于访问此问题的任何人。我无法测试任何这些答案,因为我已经删除了这个操作系统并安装了Ubuntu。此外,我不再需要awscli了。

18 个答案:

答案 0 :(得分:27)

我有同样的问题。我意识到awscli没有安装在/usr/local/lib/python3.5中,而是安装在/.local/usr中。所以我使用

卸载了awscli
sudo pip3 uninstall awscli

刚刚使用了这个

sudo pip3 install awscli

为我解决了这个问题。现在aws --version工作得很好。 还要确保删除安装在/.local文件夹中的awscli的所有依赖项,您只需卸载所有这些依赖项,然后运行上面的命令。

答案 1 :(得分:6)

我遇到了这个问题,请使用以下命令对其进行修复。

$sudo pip install awscli --force-reinstall --upgrade && sudo chmod 755 /bin/aws

答案 2 :(得分:5)

我创建了相同的情况,先做了pip install awscli,然后做了sudo pip install awscli。运行后

sudo pip uninstall awscli 
sudo pip install awscli

我还有问题。我必须手动删除$ HOME / .local目录 与sudo rm -rf .local

答案 3 :(得分:5)

发生这种情况的原因有很多,其中之一是错误安装了AWS

  

sudo pip install aws

正确的安装方法是(如果您不弄乱它,这应该可以工作):

  

sudo pip install --upgrade --user awscli

否则,如果出现以下错误: 导入awscli.clidriver

然后执行以下命令对其进行修复:

sudo pip install awscli --force-reinstall --upgrade

,您的awscli将安装在(对于Ubuntu 16)

  

/ usr / local / bin / aws

设置aws路径:

export PATH=~/.local/bin:$PATH

答案 4 :(得分:3)

在我的情况下,我必须使用我不应该使用的sudo运行pip命令,从而使root成为*各个子目录的所有者,而这些子目录应该归我所有。运行~/.local/可以,但是sudo -H aws --version不能。

运行此命令以更正所有者,可以解决我的许多问题:

aws --version

答案 5 :(得分:2)

I had a similar problem but under Windows 10

I used pip3 install awscli --upgrade --user like it is recommended by Amazon.

So in my case the problem was that I had 27 and 36 pythons installed:

D:\ff>where python.exe
C:\Users\me\.windows-build-tools\python27\python.exe
C:\Users\me\AppData\Local\Programs\Python\Python36\python.EXE

And I need them both...

Note here that you can just swap the order of entries in the PATH global variable like @WStrellis suggested: https://stackoverflow.com/a/55071644/139667 or you can use this trick...

... so what I did is:

In the folder where I needed aws I created

  1. file aws.bat

    C:\Users\me\AppData\Local\Programs\Python\Python36\python.EXE aws.py %*
    
  2. file aws.py

    import awscli.clidriver
    import sys
    
    
    def main():
        return awscli.clidriver.main()
    
    
    if __name__ == '__main__':
        sys.exit(main())
    

now I can run the aws console from that folder just like it's real:

aws help

The advantages of doing this is that:

  • This configuration is easily transferable (by pushing it with the rest of the files to git for example), so whoever else needs it can take advantage of it without going through the same troubles (provided they have Python 3.x and ran pip3 install awscli --upgrade --user).
  • This configuration is local (to the folder), in a different folder you can use something else and it's not going to have anything in common with this one.

答案 6 :(得分:2)

在Windows 10 64bit上,我遇到了相同的错误。

我的PC上安装了Python 2.7和3.7。我尝试使用以下两个命令安装awscli:

pip install --upgrade --user awscli
pip install awscli

在使用第一个命令后,我使用pip卸载了awscli。

运行第二条命令后,错误消息仍然存在。

我通过更改在“系统” PATH变量中搜索路径的顺序来解决了这个问题。

我的“系统” PATH变量如下所示:

C:\Program Files\Python\Python27\ 
C:\Program Files\Python\Python27\Scripts
C:\Program Files\Python\Python37\
C:\Program Files\Python\Python37\Scripts

因此,我使用了“环境变量控制面板”中的“上移/下移”按钮来更改顺序,如下所示:

C:\Program Files\Python\Python37\
C:\Program Files\Python\Python37\Scripts
C:\Program Files\Python\Python27\
C:\Program Files\Python\Python27\Scripts

现在awscli可以正常运行了。

答案 7 :(得分:1)

首先,卸载您刚刚使用sudo pip uninstall awscli进行过的操作。 如果安装时带有--user标志,请确保使用以下方法删除~/.local/中的所有aws残余物:

sudo rm -f ~/.local/bin/aws*

如果您已按照AWS文档的指示修改了$ PATH和~/.bashrc,请通过删除添加到~/.bashrc的行并执行以下操作来撤消操作:

exec -l $SHELL

对于Ubuntu 18.04,这对我有用:

AWS文档中的推荐安装命令:

sudo pip install --upgrade --user awscli

我发现执行此操作之后,aws二进制文件从路径中丢失了,并且按照他们的建议将其添加到$PATH中是行不通的。

执行以下命令来解决此问题:

sudo pip install awscli --force-reinstall --upgrade

答案 8 :(得分:1)

我尝试了多种安装方式。跟随对我有用的东西。使用aws-cli卸载pip。它可以是pip3,也可​​以只是pip。确保在安装回来时不要使用 sudo 。请执行以下操作:

  • 使用卸载已安装的
  

sudo pip uninstall awscli

  • 使用不带sudo的安装方式重新安装,这一次它应该可以工作。
  

pip install awscli

现在使用以下方法检查aws-cli安装是否成功

  

aws --version

如果运行良好,则显示以下结果。就我而言,它显示为:

  

aws-cli / 1.16.60 Python / 2.7.15 + Linux / 4.18.0-11-generic botocore / 1.12.50

答案 9 :(得分:1)

感谢您的帮助。

https://docs.aws.amazon.com/cli/latest/userguide/install-macos.html#awscli-install-osx-path

我按照说明进行操作,在完成所有这些步骤后出现错误:

<soapenv:RootTag xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <childTag someAttribute="colors are nice">
        <grandchild>This is a text tag</grandchild>
    </childTag>
</soapenv:RootTag>

此帖子可以帮助解决它,也需要解决此问题

$aws
Traceback (most recent call last):
  File "/usr/local/bin/aws", line 19, in <module>
    import awscli.clidriver
ModuleNotFoundError: No module named 'awscli'

并运行

WARNING: The scripts pyrsa-decrypt, pyrsa-decrypt-bigfile, pyrsa-encrypt, pyrsa-encrypt-bigfile, pyrsa-keygen, pyrsa-priv2pub, pyrsa-sign and pyrsa-verify are installed in '/Users/xxx/Library/Python/3.7/bin' which is not on PATH.

答案 10 :(得分:1)

这不是一个非常可靠的解决方案,但是与上述答案类似,最好检查您的Python版本。我已经通过awsclipip)将pip install awscli安装到Python 3.5(我的默认Python)上,并能够从Python 3.5 REPL导入它,但是当我运行{{1 }}命令行上的可执行命令,我仍然收到与上面相同的错误。我选择将aws可执行文件的Python版本从aws更改为2.7

  1. 3.5
  2. chmod 777 /usr/bin/aws # Grants edit access to the aws executable
  3. vi /usr/bin/aws # Opens executable in editor中更改了以下内容:#!usr/bin/python2.7-> python2.7

如果出于安全原因需要出于安全目的重新调整文件权限,则建议您也这样做。

希望这会有所帮助!作为参考,我使用CentOS 7作为操作系统。

答案 11 :(得分:0)

我得到了此命令来尝试运行几个月前就已经安装的AWS CLI,因此重新安装对我来说似乎是错误的事情。

我尝试再次安装它,但收到一条消息,说明此操作已完成。

我能够通过使用在我的计算机上安装Python的位置设置此代码来设置“路径变量”来解决此错误。下面的代码对我的编码任务有很大帮助。

setx PATH “C:\Users\user\AppData\Local\Programs\Python\Python35-32

现在我可以运行aws configure了,这还是我想做的。请查看:Install the AWS CLI on Windows,以获取有关此问题的更多指导。

答案 12 :(得分:0)

我遇到了这个问题。首次尝试安装时,我没有使用--upgrade选项。当我使用--upgrade重试安装时,它可以正常工作。另外,如果您使用--user,则无需使用sudo。

答案 13 :(得分:0)

我找到了根本原因。 Mojave在磁盘访问方面设置了一些限制。 http://osxdaily.com/2018/10/09/fix-operation-not-permitted-terminal-error-macos/

然后使用

sudo -H pip3 uninstall awscli
sudo -H pip3 install awscli

答案 14 :(得分:0)

我遇到了同样的问题@ ec2 ubuntu实例。 有用的是升级了pip版本:您最初获得的是pip v 9.0.1。将其升级到当前版本(撰写本文时为18.0)

pip install --upgrade pip

答案 15 :(得分:0)

我遇到了同样的问题。
刚刚写道:

pip3 install --upgrade awscli

我的问题解决了。

答案 16 :(得分:0)

如果您正在使用 pipx 并且遇到此问题,我尝试卸载并重新安装,例如pipx uninstall awscli; pipx install awscli - 仍然无效。

我最终在 pipx pipx reinstall-all 中重新安装了所有东西,最终成功了 - 不知道为什么 - 共享库更新?

pipx 很棒,但仍然有点神奇,因为我还没有深入研究内部结构。

答案 17 :(得分:0)

如果您专门安装了多个版本的 Python ANACONDA,则路径顺序很重要。在所有 anaconda 中优先考虑新安装的脚本目录路径。