模块未找到错误:找不到名为“yaml”的模块。

6
我有一台安装了默认Python-2.7.5的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上看到了一些问题,例如这个这个这个,但我没有看到任何已经解决这个问题的回复。
如上述链接中建议的那样,我使用以下命令安装了pyyaml:sudo python3 -m pip install pyyamlsudo pip3 install pyyaml,但我仍然不断收到ModuleNotFoundError错误。
请问有谁能帮助我解决这个问题吗?
提前感谢您的回答,
Akshat Sharma

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))。 - phd
或者你只需要导入模块pyyaml而不是yaml? - SebNik
这个回答解决了你的问题吗?ModuleNotFoundError: No module named 'yaml' - Joe
@Joe,我确实尝试按照链接中提到的方法安装了pyyaml,但是它并没有解决错误。 - Akshat Sharma
请查看 import sys; sys.executable。您是否将模块安装在正确的位置?您是否使用虚拟环境、Jupyter 或 Anaconda? - Joe
显示剩余9条评论
1个回答

1
当您的系统中安装了多个Python版本时,就会出现这样的问题。
只需运行命令pip3 list,查看包是否出现在列表中。如果没有出现,则表示您未在正确的位置安装PyYaml包。
PS:有时普通用户和sudo用户的Python位置不同。尝试在不使用sudo的情况下运行该命令进行检查。

如果你能在列表中看到它,但仍然遇到错误,那该怎么办呢? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接