awscli无法工作:没有名为'awscli'的模块

Thr*_*ood 36 pip python-3.x 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'
Run Code Online (Sandbox Code Playgroud)

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

sudo pip install awscli --upgrade --user
Run Code Online (Sandbox Code Playgroud)

一切似乎安装得很好.

添加到我的.bashrc

export PATH=~/.local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

然后我尝试命令

aws --version
Run Code Online (Sandbox Code Playgroud)

我明白了

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

有人能帮忙吗?

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

Ron*_*Das 41

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

sudo pip3 uninstall awscli
Run Code Online (Sandbox Code Playgroud)

并且刚刚用过这个

sudo pip3 install awscli
Run Code Online (Sandbox Code Playgroud)

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


小智 10

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

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

pip install --upgrade --user awscli
pip install awscli
Run Code Online (Sandbox Code Playgroud)

使用第一个命令后,我使用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
Run Code Online (Sandbox Code Playgroud)

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

C:\Program Files\Python\Python37\
C:\Program Files\Python\Python37\Scripts
C:\Program Files\Python\Python27\
C:\Program Files\Python\Python27\Scripts
Run Code Online (Sandbox Code Playgroud)

现在,awscli可以正常运行了。


Rav*_*stm 9

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

sudo pip安装aws

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

sudo pip install --upgrade --user awscli

否则,如果出现任何错误,例如: import awscli.clidriver

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

sudo pip install awscli --force-reinstall --upgrade
Run Code Online (Sandbox Code Playgroud)

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

/ usr / local / bin / aws

设置aws路径:

export PATH=~/.local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)


Kem*_*hou 7

我创建了相同的情况首先做了pip install awscli,然后做了sudo pip install awscli.跑完之后

sudo pip uninstall awscli 
sudo pip install awscli
Run Code Online (Sandbox Code Playgroud)

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


小智 7

我有这个问题,用下面的命令修复它。

$sudo pip install awscli --force-reinstall --upgrade && sudo chmod 755 /bin/aws
Run Code Online (Sandbox Code Playgroud)

  • 我最近从 ubuntu 19.10 升级到 20.04,并且必须运行: `sudo pip3 install awscli --force-reinstall --upgrade` 才能再次工作 (2认同)

小智 7

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

pip3 install --upgrade awscli
Run Code Online (Sandbox Code Playgroud)

我的问题解决了。


小智 5

就我而言,我必须使用不应该使用的sudo运行pip命令,导致root成为我应该拥有的各个子目录的所有者~/.local/。跑步sudo -H aws --version会工作,但aws --version不会。

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

sudo chown -R $USER ~/.local
Run Code Online (Sandbox Code Playgroud)


Tri*_*Gao 5

我有类似的问题,但在Windows 10下

我曾经使用pip3 install awscli --upgrade --user过亚马逊推荐的产品。

所以在我的情况下,问题是我安装了27和36个python:

D:\ff>where python.exe
C:\Users\me\.windows-build-tools\python27\python.exe
C:\Users\me\AppData\Local\Programs\Python\Python36\python.EXE
Run Code Online (Sandbox Code Playgroud)

我都需要他们

请注意,您可以PATH像@WStrellis建议的那样交换全局变量中的条目顺序:https ://stackoverflow.com/a/55071644/139667 或可以使用此技巧...

...所以我所做的是:

在我需要aws的文件夹中

  1. 文件 aws.bat

    C:\Users\me\AppData\Local\Programs\Python\Python36\python.EXE aws.py %*
    
    Run Code Online (Sandbox Code Playgroud)
  2. 文件 aws.py

    import awscli.clidriver
    import sys
    
    
    def main():
        return awscli.clidriver.main()
    
    
    if __name__ == '__main__':
        sys.exit(main())
    
    Run Code Online (Sandbox Code Playgroud)

现在,我可以从该文件夹运行aws控制台,就像它是真实的一样:

aws help
Run Code Online (Sandbox Code Playgroud)

这样做的好处是:

  • 这种配置很容易转移(例如,通过将其与其余文件一起推送到git),因此其他需要它的人都可以利用它,而不会遇到同样的麻烦(前提是他们拥有Python 3.x和ran pip3 install awscli --upgrade --user)。
  • 此配置是本地的(对于该文件夹),在另一个文件夹中,您可以使用其他配置,并且此配置不会有任何共同之处。