已安装pip==19.1.1但版本显示异常,如何为Python3.4正确配置该版本pip
你遇到的问题很典型——系统里同时存在多个Python版本时,默认的pip命令会关联到优先级更高的那个(这里是Python3.8),而你安装的pip19.1.1并没有被正确关联到Python3.4。下面是几个靠谱的解决方法,按推荐程度排序:
方法1:直接通过Python3.4模块调用pip(最稳妥)
每个Python版本都自带了pip模块的调用入口,用这种方式可以精准指定要使用的Python版本对应的pip,完全不会和其他版本冲突:
先确保Python3.4已经安装了基础的pip支持:
python3.4 -m ensurepip --default-pip这个命令会给Python3.4安装适配的基础pip版本。
安装指定版本的pip19.1.1:
python3.4 -m pip install pip==19.1.1验证版本:
python3.4 -m pip -V此时应该会输出类似:
pip 19.1.1 from /usr/local/lib/python3.4/site-packages/pip (python 3.4),说明已经成功关联。
方法2:使用Python3.4对应的pip命令
如果你的Python3.4是源码安装的,通常会生成对应的pip3.4命令(路径可能在/usr/local/bin/下),直接调用它即可:
检查是否存在
pip3.4:which pip3.4如果返回路径,说明可以直接用。
如果不存在,先通过方法1的
ensurepip安装,之后就会生成pip3.4命令。安装并验证:
pip3.4 install pip==19.1.1 pip3.4 -V
如果系统里pip3.4的优先级低于其他pip,可以临时调整PATH,把它的路径放到最前面:
export PATH=/usr/local/bin:$PATH # 假设pip3.4在这个路径下 pip3.4 -V
如果想永久生效,可以把这条命令加到~/.bashrc或~/.profile文件里,然后执行source ~/.bashrc刷新。
方法3:创建Python3.4专属虚拟环境(推荐长期使用)
虚拟环境可以彻底隔离不同Python版本的依赖,避免各种版本冲突问题,非常适合长期维护某个版本的项目:
创建虚拟环境:
python3.4 -m venv py34_project_env这个命令会在当前目录下生成一个
py34_project_env的文件夹,里面包含独立的Python3.4环境。激活虚拟环境:
source py34_project_env/bin/activate激活后终端提示符会变成
(py34_project_env),说明你现在处于这个独立环境中。安装pip19.1.1并验证:
pip install pip==19.1.1 pip -V此时的
pip默认就是Python3.4对应的版本,输出应该是pip 19.1.1 from ... (python 3.4)。退出虚拟环境:
deactivate
注意事项
- 尽量不要直接修改系统默认的
pip命令,否则可能会破坏系统依赖(比如Python3.8的工具可能需要pip20.0.2)。 - 源码安装的Python通常会放在
/usr/local/bin/下,而系统自带的Python在/usr/bin/下,/usr/bin/的优先级默认更高,所以直接调用pip会用系统版本的。
内容的提问来源于stack exchange,提问作者HERO




