Centos 7.9 python3找不到通过yum安装的模块

Centos 7.9 python3找不到通过yum安装的模块

我的存根 python3 程序找不到“pytz”模块:

[me@mybox]$ uname -a
Linux portal2 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[me@mybox]$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[me@mybox]$ 
[me@mybox]$ cat t2b.py
#!/usr/bin/env python3

import sys
import datetime
import time
import pytz

from datetime import datetime, timezone, tzinfo


[me@mybox]$  ./t2b.py 
Traceback (most recent call last):
  File "./t2b.py", line 6, in <module>
    import pytz
ModuleNotFoundError: No module named 'pytz'
[me@mybox]$ 

我的 Centos 7 机器上的“yum”提供了‘pytz’模块,因此我安装了它(删除了很​​多行):

[root@mybox ~]# yum install pytz
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
.     .     .     .     .
Resolving Dependencies
--> Running transaction check
---> Package pytz.noarch 0:2016.10-2.el7 will be installed
--> Finished Dependency Resolution
.     .     .     .     .
Dependencies Resolved
.     .     .     .     .
Installing:
 pytz           noarch           2016.10-2.el7             base            46 k
.     .     .     .     .
Installed:
  pytz.noarch 0:2016.10-2.el7

Complete!
[root@mybox ~]# 

但在此之后,我的存根程序以相同的方式失败了!就它而言,即使重新启动并重新登录后,仍然有“没有名为‘pytz’的模块”。

直到我通过“pip3”安装了“pytz”模块后,t2b.py 才找到它。

[root@portal2 ~]# pip3 install pytz
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting pytz
  Downloading https://files.pythonhosted.org/packages/d3/e3/d9f046b5d1c94a3aeab15f1f867aa414f8ee9d196fae6865f1d6a0ee1a0b/pytz-2021.3-py2.py3-none-any.whl (503kB)
    100% |████████████████████████████████| 512kB 2.0MB/s 
Installing collected packages: pytz
Successfully installed pytz-2021.3
[root@portal2 ~]#

[kurt@mybox ]$ ./t2b.py 
[kurt@mybox ]$

我希望尽可能通过“yum”统一维护已安装的软件。我的问题是,为什么这对这个 python3 模块不起作用,以及/或者我必须采取哪些额外步骤才能使该过程正常运行?

答案1

没有什么比提出问题更能让显而易见的答案出现在你面前。看来我为 python2 安装了“pytz”:

[root@mybox ~]# yum list all | grep pytz
pytz.noarch                                2016.10-2.el7          @base         
python36-pytz.noarch                       2017.2-3.el7           epel          
rh-python38-python-pytz.noarch             2019.3-4.el7           centos-sclo-rh
[root@pmybox ~]# python3 -V
Python 3.6.8
[root@mybox ~]# 

我的小 python3 程序找不到它,这并不奇怪。很可能我应该安装“python36-pytz”,我的程序就会找到它。

相关内容