Win10下解决Python2和Python3的兼容,同时解决pip的速度问题

Part1:解决Python2和Python3的同时使用问题,并且优先使用python2

因为历史原因,工作中要使用Python2的不在少数。比如有些工具是使用python2编写的,甚至是源码也没有。改写这部分工具费时,也不值得。

但是,python之父Guido van Rossum(吉多·范罗·苏姆),早就提出2020年1月1日之后不在支持更新。这个时候,又需要工作中使用的是python3。现在在执行的python2的pip安装时,都有明显提示。

python2.7 2020年一月1日过期

天生的矛盾解决不好,会给初级使用者带来麻烦。本文主要解决这方面的问题。

本文基于这样的假设:

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。)

修改pip3.exe中的解析器位置


python3的scripts中只有pip3.exe没有pip.exe


python3中只有python3.exe 没有python.exe

4.  最后确认命令行解析正确


 

使用where命令确认位置。


总结:

通过上面的修改,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


编辑配置pip默认配置文件

#建议使用豆瓣的源,url写上https,加密传输。

3.对比一下效果:

在我们配置完成pip.ini之后,我们使用pip install的方式安装包,默认就是到豆瓣的连接去下载安装。


不用-i 指定,使用豆瓣的源

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以后会越来越少。)

 

使用sys.version中判断当前解析器的版本


提示用户当前解析器是python2


使用python3 正常工作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354