【问题标题】:ModuleNotFoundError: No module named 'yaml' errorModuleNotFoundError:没有名为“yaml”的模块错误
【发布时间】:2020-07-30 15:24:56
【问题描述】:

我有一台安装了 python-2.7.5 作为默认 python 的 centos7 机器。 对于我的工作,我需要在同一台机器上安装 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,当我尝试在其中输入 import yaml 时,我收到了 ModuleNotFoundError: No module named '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'

我在 stackoverflow 和 github 上看到了一些查询,例如 thisthisthis,但没有看到任何解决此问题的响应。

按照上面链接的建议,我已经使用以下命令安装了 pyyaml:

sudo python3 -m pip install pyyamlsudo pip3 install pyyaml 但我仍然继续收到 ModuleNotFoundError 错误。

谁能帮我解决这个问题?

提前致谢,

阿克沙特·夏尔马

【问题讨论】:

  • 可能不止 2 个 Python。你确定sudo python3 运行/usr/bin/python3 吗?你确定sudo pip3 运行使用/usr/bin/python3pip3 吗?您必须检查路径(使用which,例如sudo which python3)、版本(sudo pip3 --version)和shebangs(head -1 $(sudo which pip3))。
  • 或者你只需​​要导入 yaml 的 modul pyyaml instad ??
  • 这能回答你的问题吗? ModuleNotFoundError: No module named 'yaml'
  • @phd 感谢您的回复。以下是命令的输出:sudo which python3 /bin/python3 sudo which pip3 /bin/pip3 sudo pip3 --version pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6) head -1 $(sudo which pip3) #! /usr/bin/python3

标签: python python-3.x pip centos7 pyyaml


【解决方案1】:

当您的系统中安装了多个 python 发行版时会出现此类问题。

只需运行:pip3 list 命令,看看你是否能够看到列表中的包。如果不是,则说明您没有在正确的位置安装 PyYaml 包。

PS:有时对于普通用户而言,python 位于不同的位置,而对于 sudo 用户而言,它位于不同的位置。检查在不给 sudo 的情况下运行命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 2020-01-01
    • 2019-03-09
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多