概述
Python有两大版本,Python2和Python3,Python3是Python2的升级版,然而Python3并没有完全遵照软件向下兼容的准则,有一些库只支持单一的Python版本,随着新旧版本Python的更新迭代,Python3所支持的包越来越多,但是也有不少包由于开发者停止更新维护,导致这些包只支持Python2版本,加上现在资料大多数是关于Python2版本的,故单个Python版本远不能满足工作或者科研需求。但多版本共存会引起一些问题,比如说终端命令冲突,最常见的是pip包安装命令。
运行环境:
系统:windows 7 ultimate with sp1 x64
Python版本:Python2.7,Python3.6
笔者在进行pip安装时发现每次进行Python包安装的时候系统默认安装在Python2版本上,为此很是头疼,折腾了许久才解决这个问题。究其原因,主要是环境变量Path分别添加了Python2和Python3根目录和根目录下的Scripts目录,如下:
PATH=D:Program FilesPython27;D:Program FilesPython27Scripts;C:windowssystem32;C:win
dows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;D:Program FilesPython36Scripts;D:Program FilesPython36
终端执行pip命令时环境变量靠前的Python版本pip命令被执行。查看Python2和Python3根目录下的Scripts目录,发现两个Scripts目录皆有pip.exe,由于Python2的环境变量靠前,系统默认执行Python2版本的pip。
细心点可以发现,Python2的Scripts目录下除了pip.exe,还有pip2.exe、pip2.7.exe,三者大小完全一样,于是笔者猜想这三者是完全一样的文件,只是名称有所差异,后经试验也证实了笔者的猜想。Python3也是一样的,Scripts目录下包含pip.exe、pip3.exe和pip3.6.exe。
故在进行Python包安装时,对于Python2版本可使用命令pip2 install xxx或者pip2.7 install xxx,xxx为你的Python包,可以是Python包名称,也可以是你的本地Python包的绝对路径,对于Python3版本可使用命令pip3 install xxx或者pip3.6 install xxx。
其实在Python开发者开发的时候就已经考虑到了,在安装Python2之后再安装Python3,Python3会默认安装一个Python启动器,故通过Python启动器也同样可以解决问题。
启动器pip安装命令为:py -2 -m pip install xxx / py -3 -m pip install xxx
-m为模块的意思
最后
以上就是坚强雪碧为你收集整理的Python2和Python3共存的pip安装问题的全部内容,希望文章能够帮你解决Python2和Python3共存的pip安装问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复