0%

pip2&pip3共存

  虽然如今python2已经停止更新,但作为重要的python发行版,考虑到更新的成本,众多常用软件仍然再继续使用python2,比如ArcGIS以及一些专用软件等。因此有时候不得不遇到python2和python3装在同一台计算机上的情况,那么作为python重要的包管理软件pip2和pip3的共存问题也随之而来。
  其实这个问题并非每次都会遇到,但是也不能保证每次都遇不到。本文就是在遇到这个问题的时候搜集自网络的,简要介绍了解决pip2、pip3共存的方案。

  以下配置以windows系统为例

python2、python3安装及环境变量配置

此处,假定python2、python3均已安装

配置环境变量

安装python2、python3后添加如下路径至系统变量path(以python2.7和python3.6为例):

1
2
3
4
C:\Program Files\Python36
C:\Program Files\Python36\Scripts
C:\Program Files\Python27
C:\Program Files\Python27\Scripts

修改python可执行文件名

找到python2和python3的安装目录,修改python2.7.9和python3.6.8中python.exe和pythonw.exe的名称为python2.exe、pythonw2.exe和python3.exe、pythonw3.exe

测试运行

然后再cmd命令行输入python2python3测试运行情况,确保python2和python3可正常启动

pip2和pip3设置

Python 安装包需要用到包管理工具pip,但是当同时安装python2和python3的时候,pip只是其中一个版本,以下将提供一个修改方式,即重新安装两个版本的pip,使得两个python版本的pip能够共存。

在DOS命令框输入命令

1
python3 -m pip install --upgrade pip --force-reinstall

显示重新安装成功。

或者在DOS命令框输入命令

1
python2 -m pip install --upgrade pip --force-reinstall

显示重新安装成功。

现在可以通过pip2 -Vpip3 -V 查看两个版本的pip信息,以后只需运行pip2 install XXXpip3 install XXX即可安装各自的python包

至此,pip2和pip3 修改成功。

pip故障无法运行时

今天遇到pip运行报错的问题

Python报错:

1
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader

解决方案:

cmd运行以下命令之一

1
2
python2 -m ensurepip --upgrade
python3 -m ensurepip --upgrade

可以重新安装pip

按说以上两条安装命令会发生冲突,同时只能存在一个pip版本,可按照上文中pip2、pip3共存方案进行共存设置,即运行

1
python3 -m pip install --upgrade pip --force-reinstall

或者

1
python2 -m pip install --upgrade pip --force-reinstall

可同时安装更新python2及python3可用的pip版本。