【发布时间】:2018-11-24 20:54:10
【问题描述】:
我有一个正在尝试执行的脚本
python3 env/common_config/add_imagepullsecret.py
但是,我收到以下错误:
[root@kevin]# python3 env/common_config/add_imagepullsecret.py
Traceback (most recent call last):
File "env/common_config/add_imagepullsecret.py", line 4, in <module>
import yaml
ImportError: No module named 'yaml'
[root@kevin]# pip3 install pyyaml
Requirement already satisfied: pyyaml in /usr/lib64/python3.4/site-packages
(3.12)
[root@kevin]#
PyYAML 已经安装在机器上:
[root@bhimsvm31 k8s]# pip3 install pyyaml
Requirement already satisfied: pyyaml in /usr/lib64/python3.4/site-packages
(3.12)
[root@bhimsvm31 k8s]#
如何让这个脚本导入 PyYAML?
【问题讨论】:
-
对 python3 和 pip3 分别运行 which 以确保它们指向相同的版本,您也可以尝试 python3 -m pip install pyyaml
-
@will7200 这是我的 o/p: which pip3 -- /usr/bin/pip3 which python -- /usr/local/bin/python
-
pip3 指向不同的 python3。使用 python3 -m pip install pyyaml,这将确保它使用该 python 版本的正确 pip。
-
还有一个观察结果:当我使用 python2.7 CLI 并执行 import yaml 时——我没有收到任何错误。但是,在使用 python3 或任何其他版本的 CLI 并执行 import yaml 时——我收到 ImportError: No module names 'yaml'
-
每个 python 版本都需要安装 yaml,无论是否安装了其他当前 python 版本。它还必须使用指向该 python 版本的正确 pip 进行安装。
标签: python python-3.x pip pyyaml