Debian Buster下pip安装pytz后导入失败,如何指定pip用Python3?
解决Debian Buster中pip安装pytz后Python3无法导入的问题
嘿,这个问题我碰到过好多次,核心原因特别清晰:Debian Buster里默认的pip是绑定Python2.7的,你用sudo pip install pytz其实把包装到Python2的环境里了,但你运行的是Python3,自然找不到这个模块!
下面给你几个安全又有效的解决办法(完全不用卸载Python2,放心操作):
方法1:直接使用pip3安装
Debian系统里,Python3对应的pip工具默认叫pip3,直接用它来安装就能把包放到Python3的环境中:
sudo pip3 install pytz
安装完成后,再运行Python3导入pytz就不会报错了。
方法2:如果pip3不存在,先安装Python3的pip包
要是你的系统里还没装Python3的pip,可以先通过apt包管理器安装:
sudo apt-get update sudo apt-get install python3-pip
安装好python3-pip之后,再用方法1的pip3命令安装pytz就行。
方法3:用Python3解释器直接调用pip(最稳妥的方式)
如果担心环境里的pip命名混乱,直接用Python3的-m pip参数来调用pip,绝对不会搞错环境:
sudo python3 -m pip install pytz
这个命令会强制使用Python3对应的pip工具来安装包,百分百装到Python3的库路径里。
验证安装是否成功
安装完成后,可以用这条命令快速验证:
python3 -c "import pytz; print(pytz.__version__)"
如果输出2019.3,说明安装成功,之后正常导入就没问题啦!
注意:千万别随意修改系统默认的
pip指向Python3,因为Debian里很多系统工具依赖Python2,改了可能导致系统工具出错,用上面的方法指定Python3的pip才是最安全的选择。
内容的提问来源于stack exchange,提问作者Not a machine
相关产品推荐
相关产品推荐

