如何让pip为Python3.7.6安装包而非Python3.7.5?
解决pip对应Python 3.7.6的问题
咱们先理清问题根源:你通过apt install python3-pip安装的pip是和系统自带的Python 3.7.5绑定的,默认pip3会把包安装到3.7.5的环境中,自然在你手动编译的3.7.6里找不到依赖包。下面给你几个实用的解决办法:
方法1:直接调用Python 3.7.6自带的pip
手动编译安装Python时,默认会同步安装对应版本的pip工具,你可以直接通过3.7.6的解释器来调用它,确保包安装到正确环境:
- 先确认3.7.6的Python路径(编译安装后一般在
/usr/local/bin/下):which python3.7 - 用该Python直接调用pip安装包:
如果系统没有python3.7 -m pip install <Package_Name>python3.7快捷命令,用完整路径也可以:/usr/local/bin/python3.7 -m pip install <Package_Name>
方法2:创建Python 3.7.6专属虚拟环境(推荐)
虚拟环境能彻底隔离不同Python版本的依赖,避免环境混乱,操作步骤如下:
- 创建虚拟环境(指定使用3.7.6版本):
python3.7 -m venv py376_env - 激活虚拟环境:
激活后终端会显示环境名称(比如source py376_env/bin/activate(py376_env)),此时用pip install安装的包会自动存入3.7.6环境,直接导入即可使用。 - 退出虚拟环境:
deactivate
方法3:给3.7.6的pip设置快捷别名
如果想简化日常操作,可以给3.7.6的pip设置别名,方便快速调用:
- 编辑bash配置文件:
nano ~/.bashrc - 在文件末尾添加一行别名配置:
alias pip3.7='/usr/local/bin/python3.7 -m pip' - 保存退出后让配置生效:
之后你就可以用source ~/.bashrcpip3.7 install <Package_Name>直接给3.7.6装包,原有pip3仍对应系统3.7.5,互不干扰。
最后验证一下:安装完成后,在终端输入python3.7进入交互环境,导入目标包,应该就不会再出现ModuleNotFoundError了。
内容的提问来源于stack exchange,提问作者Anhedonia




