【发布时间】: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 上看到了一些查询,例如 this、this 和 this,但没有看到任何解决此问题的响应。
按照上面链接的建议,我已经使用以下命令安装了 pyyaml:
sudo python3 -m pip install pyyaml 和 sudo pip3 install pyyaml 但我仍然继续收到 ModuleNotFoundError 错误。
谁能帮我解决这个问题?
提前致谢,
阿克沙特·夏尔马
【问题讨论】:
-
可能不止 2 个 Python。你确定
sudo python3运行/usr/bin/python3吗?你确定sudo pip3运行使用/usr/bin/python3的pip3吗?您必须检查路径(使用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/python3sudo which pip3/bin/pip3sudo pip3 --versionpip 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