Part1:解决Python2和Python3的同时使用问题,并且优先使用python2
因为历史原因,工作中要使用Python2的不在少数。比如有些工具是使用python2编写的,甚至是源码也没有。改写这部分工具费时,也不值得。
但是,python之父Guido van Rossum(吉多·范罗·苏姆),早就提出2020年1月1日之后不在支持更新。这个时候,又需要工作中使用的是python3。现在在执行的python2的pip安装时,都有明显提示。
天生的矛盾解决不好,会给初级使用者带来麻烦。本文主要解决这方面的问题。
本文基于这样的假设:
1. 使用python2作为默认python。保证兼容。
2. 同时使用python3,开发现有应用和脚本。在现有脚本中兼容python2或者直接放弃对python2的支持。
具体步骤:
1. 下载安装包
下载路径www.python.org->download->Viewthe full list of downloads.下载Python2.7最新版本和python3.6最新版本。(我们没有必要跟着3.7走,有些库还在兼容中。)
下载内容选择Windows x86-64 MSI installer,MSI可以直接安装。64位,是因为操作系统时支持64位的,如图:
得到两个MSI的安装包。
2. 安装在D盘
将python2安装在D盘,如图:(python3类似。)
3. 编辑环境变量,并修改python3中文件
个人或者系统的环境变量将python2的位置放在前面,python3的位置放在后面。右击“我的电脑”,选择属性后如图设置:
将python3的python.exe pip.exe修改为python3.exe和pip3.exe,确保命令行中用到的python和pip只可能是python2的版本(这样修改后,和环境变量的先后没有关系了。根本就不存在python3的python.exe和pip.exe文件)
同时需要修改pip3.exe中的python解析器的位置,为更改后的d:\python36\python3.exe。(重要!不然在这个目录下执行pip3.exe会找不到python.exe。)
4. 最后确认命令行解析正确
总结:
通过上面的修改,win10系统会使用python2作为默认python。
同时python3也顺利安装在系统中了,可以通过使用python3 xxx.py和pip3 install xxx 操作python3解析器。
Part2: 解决安装速度问题
Pip 指定国内的数据源,提升下载安装速度。国内有两个主要的源,一个是清华的,一个是豆瓣的。
使用方式也有两种,一种是临时使用,一种是永久使用。
1.临时使用:
可以在使用pip的时候在后面加上-i参数,指定pip源,这里临时使用清华的源。例如: pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
2.永久修改:
Win10机器:
在自己的主目录下建立一个pip目录中间放置一个pip.ini文件内容如下:
[global]
trusted-host = pypi.douban.com
index-url = https://pypi.douban.com/simple
#建议使用豆瓣的源,url写上https,加密传输。
3.对比一下效果:
在我们配置完成pip.ini之后,我们使用pip install的方式安装包,默认就是到豆瓣的连接去下载安装。
Part3:判断当前运行的解析器是否是python3
通过上面的修改,经常会错误的将需要python3解析器解析的脚本用python2解析器执行了。
Python的sys包中version属性,指明了运行该脚本的当前解析器版本。我们可以例用这个特点,发现调用的解析器错了,提示用户。
1.sys.version=>'2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26)[MSC v.1500 64 bit (AMD64)]'
2.1如果发现是python2的可以直接调用exit()退出。
2.2通过six包或者其他方式,代码上兼容python2。(不建议,python2以后会越来越少。)