awscli не работает: нет модуля с именем «awscli»

Я пытаюсь установить awscli с помощью pip3 на Linux Mint 17.2 Rafaela.

Я получаю сообщение об ошибке:

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.


person ThriceGood    schedule 09.05.2017    source источник
comment
вы проверили stackoverflow.com/a/22282511/4296747   -  person Frederic Henri    schedule 09.05.2017
comment
моя проблема в другом. модуль awscli не может быть найден Python. в другом вопросе, похоже, проблема с кодировкой языка.   -  person ThriceGood    schedule 09.05.2017


Ответы (18)


Я была такая же проблема. Я понял, что awscli был установлен не в /usr/local/lib/python3.5, а в /.local/usr. Итак, я удалил awscli, используя

sudo pip3 uninstall awscli

и только что использовал это

sudo pip3 install awscli

это решило проблему для меня. Теперь aws --version работает отлично. Также убедитесь, что вы удалили все зависимости awscli, которые были установлены в папке /.local, вы можете просто удалить их все, а затем выполнить приведенную выше команду.

person Ronald Das    schedule 26.05.2017
comment
спасибо, кажется, я решил первоначальную проблему, но теперь у меня другая проблема, No module named 'dateutil'. Мне интересно, не устарела ли моя версия python3 для awscli, у меня 3.4.3 - person ThriceGood; 06.06.2017
comment
Если вы следовали инструкциям в docs.aws.amazon.com/cli/ last/userguide/installing.html они рекомендуют устанавливать python только для вашего пользователя pip install awscli --upgrade --user, чтобы избежать конфликтов с предыдущими версиями. У меня тоже была эта проблема. - person German; 14.02.2018

В Windows 10 64bit я получал ту же ошибку.

У меня на ПК установлены Python 2.7 и 3.7. Я попытался установить awscli, используя обе следующие команды:

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

Я удалил awscli с помощью pip после использования первой команды.

После выполнения второй команды сообщение об ошибке сохранилось.

Я решил проблему, изменив порядок путей для поиска в моей «системной» переменной 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 работает без проблем.

person WStrellis    schedule 08.03.2019
comment
Спасибо. Этот мне помог. Хотя у меня был установлен awscli в Python27, поэтому мне нужно было переключить их со второго состояния на первое. Думаю пора обновиться. - person PhilT; 12.05.2020

Происходит это по многим причинам, одна из них неправильная установка aws

sudo pip установить aws

Правильный способ установки (это должно работать, если вы делаете это без ошибок):

sudo pip install --upgrade --user awscli

В противном случае, если вы получите какие-либо ошибки, такие как: import awscli.clidriver

Затем выполните команду ниже, чтобы исправить это:

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

и ваш awscli будет установлен (для Ubuntu 16)

/USR/местные/бен/AWS

Установите путь aws:

export PATH=~/.local/bin:$PATH
person Ravistm    schedule 11.09.2018

Я создал ту же ситуацию, сначала установив pip awscli, а затем sudo pip install awscli. После запуска

sudo pip uninstall awscli 
sudo pip install awscli

У меня все еще есть проблемы. Мне нужно вручную удалить каталог $HOME/.local с помощью sudo rm -rf .local

person Kemin Zhou    schedule 22.08.2017

В моем случае я, должно быть, запустил команду pip с sudo, которой не должен был, в результате чего root стал владельцем различных подкаталогов ~/.local/, которые должны принадлежать мне. Запуск sudo -H aws --version будет работать, а aws --version — нет.

Запуск этого, чтобы исправить владельца, устранил множество моих проблем:

sudo chown -R $USER ~/.local
person user3300900    schedule 08.10.2018

У меня была похожая проблема, но в Windows 10.

Я использовал pip3 install awscli --upgrade --user, как это рекомендует Amazon.

Итак, в моем случае проблема заключалась в том, что у меня были установлены 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).
  • Эта конфигурация является локальной (для папки), в другой папке вы можете использовать что-то еще, и это не будет иметь ничего общего с этим.
person Trident D'Gao    schedule 08.04.2019

У меня была эта проблема, исправил ее с помощью команды ниже.

$sudo pip install awscli --force-reinstall --upgrade && sudo chmod 755 /bin/aws
person Jay Reddy    schedule 02.03.2020
comment
я недавно обновился с ubuntu 19.10 до 20.04, и мне пришлось запустить только: sudo pip3 install awscli --force-reinstall --upgrade чтобы он снова заработал - person Martin Hansen; 27.07.2020

Пробовал жестко устанавливать разными способами. Следуя тому, что сработало для меня. Удалите aws-cli с помощью pip. это может быть pip3 или просто pip. Не используйте sudo при обратной установке. Сделайте следующее:

  • Удалите уже установленный с помощью

sudo pip uninstall awscli

  • Установите обратно, используя без sudo, и на этот раз это должно работать.

pip install awscli

Теперь проверьте успешную установку aws-cli или нет, используя ниже

aws --версия

Показывает ниже результат, если работает хорошо. В моем случае это выглядит так:

aws-cli/1.16.60 Python/2.7.15+ Linux/4.18.0-11-общий botocore/1.12.50

person Mukesh Singh Rathaur    schedule 25.11.2018

Спасибо за эту помощь.

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

Я следовал инструкциям, после прохождения всех этих шагов получил ошибку:

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

и беги

pip3 install awscli --force-reinstall --upgrade --user
person Chandan    schedule 29.07.2019

У меня была такая же проблема.
Только что написал:

pip3 install --upgrade awscli

и моя проблема была решена.

person Juver    schedule 17.12.2020

Во-первых, удалите все, что вы только что пробовали с помощью sudo pip uninstall awscli. Если вы установили с флагом --user, обязательно удалите все остатки aws в ~/.local/ с помощью:

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
person Will    schedule 29.01.2019
comment
Последняя команда сделала это за меня sudo apt install python-pip && sudo pip install awscli --force-reinstall --upgrade - person mbarkhau; 26.03.2019

Я понял первопричину этого. Mojave наложил несколько цепочек на доступ к диску. http://osxdaily.com/2018/10/09/fix-operation-not-permitted-terminal-error-macos/

Затем используйте

sudo -H pip3 uninstall awscli
sudo -H pip3 install awscli
person Codistan    schedule 06.06.2019

Не очень надежное решение, но, как и в ответе выше, хорошо проверить версию Python. Я установил awscli в Python 3.5 (мой Python по умолчанию) через pip (pip install awscli) и смог импортировать его из REPL Python 3.5, но когда я запустил исполняемую команду aws в командной строке, я все равно получил ту же ошибку, что и над. Я решил вручную изменить версию исполняемого файла aws для Python с 2.7 на 3.5.

  1. chmod 777 /usr/bin/aws # Grants edit access to the aws executable
  2. vi /usr/bin/aws # Opens executable in editor
  3. Изменено следующее в #!usr/bin/python2.7: python2.7 --› python3.5

Если после этого вам потребуется повторно настроить права доступа к файлам в целях безопасности, я бы порекомендовал сделать это.

Надеюсь это поможет! Для справки, я использую CentOS 7 в качестве операционной системы.

person Ryan Sander    schedule 28.06.2020

Я столкнулся с той же проблемой, экземпляр @ec2 ubuntu. Что помогло, так это обновить версию pip: вы получаете изначально pip v 9.0.1. Обновите его до текущей версии (18.0 на день написания этой статьи), и все будет в порядке.

pip install --upgrade pip
person lsa77    schedule 14.09.2018

Я получил эту команду, пытаясь запустить интерфейс командной строки AWS, который я уже установил несколько месяцев назад, поэтому переустановка показалась мне неправильной.

Я попытался установить его снова, но получил сообщение о том, что это действие уже выполнено.

Я смог устранить эту ошибку, установив «переменную пути», используя этот код, из которого на моей машине установлен Python. Этот код ниже очень помог мне в моих задачах кодирования.

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

Теперь я могу запустить aws configure, что я и хотел сделать. Проверьте: Установите AWS CLI в Windows для получения дополнительных указаний по этому вопросу.

person Shegs84    schedule 23.01.2019

У меня была эта проблема. При первой попытке установки я не использовал параметр --upgrade. Когда я повторил установку с --upgrade, это сработало. Также вам не нужно использовать sudo, если вы используете --user.

person Tony Joblin    schedule 31.05.2019

Если вы используете pipx и сталкиваетесь с этим, я попытался удалить и переустановить, например. pipx uninstall awscli; pipx install awscli - это все еще не сработало.

Я переустановил все в pipx pipx reinstall-all, что наконец-то заработало - хотя не знаю почему - обновления общей библиотеки?

pipx великолепен, но все еще немного волшебен, так как я еще не погрузился во внутренности.

person William    schedule 26.02.2021

Порядок пути имеет значение, если у вас установлено несколько версий Python специально для ANACONDA. Отдайте приоритет пути к недавно установленному каталогу скриптов среди всех файлов anaconda.

person Rupesh Jha    schedule 18.03.2021