ModuleNotFoundError: нет модуля с именем 'yaml' ошибка - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть машина centos7 с python -2.7.5, установленной по умолчанию python. Для моей работы мне нужна 3.x версия python на той же машине, поэтому я установил python -3.6.8 и создал программную ссылку, где /usr/bin/python указывает на /usr/bin/python3 следующей командой:

sudo ln -fs /usr/bin/python3 /usr/bin/python

Теперь, для примера сценария python, скажем: test.py, я получаю ошибку ModuleNotFoundError: No module named 'yaml', когда пытаюсь import yaml в нем.

Сценарий test.py выглядит следующим образом:

#!/usr/bin/python3

"""
Sample python script to import yaml.
"""

import yaml

print("Hello! Could you please help me resolve this?")

И ошибка такая, как показано ниже:

[cloud-user@xx.xx.xx.xx]$python test.py
Traceback (most recent call last):
  File "test.py", line 6, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

Я видел несколько запросов, вызванных на стеке и потоке github, например this , this и this , но не вижу ответа, который решил эту проблему.

Как указано в ссылках выше, я установил pyyaml, используя следующую команду:

sudo python3 -m pip install pyyaml и sudo pip3 install pyyaml, но я все еще продолжаю получать ModuleNotFoundError ошибку.

Может кто-нибудь помочь мне решить эту проблему?

Заранее спасибо,

Акшат Шарма

1 Ответ

0 голосов
/ 17 апреля 2020

Такие проблемы возникают, когда в вашей системе установлено несколько дистрибутивов python.

Просто запустите: pip3 list и посмотрите, можете ли вы увидеть пакет в список. Если нет, вы не устанавливаете пакет PyYaml в правильном месте.

PS: иногда для обычного пользователя python находится в другом месте, а для пользователя sudo - в другом. Проверьте выполнение команды без предоставления sudo.

...