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

问题描述 投票:26回答:12

我试图在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了。

python-3.x pip aws-cli
12个回答
33
投票

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

sudo pip3 uninstall awscli

并且刚刚用过这个

sudo pip3 install awscli

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


0
投票

我得到这个命令试图运行几个月前我已经安装的AWS CLI,所以重新安装它似乎对我来说是错误的。

我试图再次安装它,但收到一条消息说这个动作已经完成了。

我能够通过在我的机器上安装Python的代码设置'path variable'来解决这个错误。下面的代码对我的编码任务有很大的帮助。

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

现在我能够运行aws configure,这是我想要做的事情。退房:Install the AWS CLI on Windows在此问题上获得更多指导。


0
投票

我有这个问题。在第一次尝试安装时,我没有使用--upgrade选项。当我用--upgrade重试安装时它工作了。如果您使用--user,也不需要使用sudo。


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

7
投票

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

sudo pip安装aws

正确的安装方式是(如果你这样做而不搞乱它,这应该有效):

sudo pip install --upgrade --user awscli

否则,如果您遇到任何错误:import awscli.clidriver

然后执行以下命令来修复它:

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

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

在/ usr / local / bin目录/ AWS

设置aws路径:

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

6
投票

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

sudo pip uninstall awscli 
sudo pip install awscli

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


4
投票

在Windows 10 64bit上我得到了同样的错误。

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

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

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

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

我通过在“System”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运行没有问题。


4
投票

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

我使用亚马逊推荐的pip3 install awscli --upgrade --user

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

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

我需要他们两个......

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

......所以我做的是:

在我需要aws的文件夹中,我创建了

  1. 档案aws.bat C:\Users\me\AppData\Local\Programs\Python\Python36\python.EXE aws.py %*
  2. 档案aws.py import awscli.clidriver import sys def main(): return awscli.clidriver.main() if __name__ == '__main__': sys.exit(main())

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

aws help

这样做的好处是:

  • 这个配置很容易转移(例如通过将其余的文件推送到git),所以其他人需要它可以利用它而不会遇到同样的麻烦(前提是他们有Python 3.x并运行pip3 install awscli --upgrade --user)。
  • 这个配置是本地的(到文件夹),在不同的文件夹中,你可以使用其他东西,它不会与这个有任何共同之处。

3
投票

在我的情况下,我必须运行一个我不应该使用sudo的pip命令,导致root成为~/.local/的各个子目录的所有者,这些子目录应由我拥有。运行sudo -H aws --version会起作用,但aws --version不会。

运行此以纠正所有者修复了我的很多问题:

sudo chown -R $USER ~/.local

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-通用botocore / 1.12.50


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

0
投票

我遇到了同样的问题@ ec2 ubuntu实例。升级pip版本有什么帮助:你最初得到vip v 9.0.1。将其升级到当前版本(写下此日的18.0),你会没事的

pip install --upgrade pip
© www.soinside.com 2019 - 2024. All rights reserved.