使用过node.js的同学都知道,我们经常需要切换node.js的版本。而在Python的开发过程中,我们也会遇到需要在Python2和Python3之间切换的情况。就像之前我学习爬虫,一开始我用Python2.7,后来买了一本教程想系统学习一下爬虫。可是教程使用的是Python3.x。那我就纠结了:怎样能够不卸载Python2同时又能使用Python3呢?于是,我研究了一番,并总结如下。
安装
- 从官网或者Python部落都可以下载Python2.x和Python3.x的版本,注意一下系统就好
- 将Python2.x和Python3.x安装到不同的文件夹里面。例如,Windows下
D:\Program Files\Python2
和D:\Program Files\Python3
- 将Python2和Python3的安装路径和下一级的
\Scripts
文件夹的路径添加到环境变量里面。
解法
野路子解法
将其中一个运行文件如Python2下的python.exe的名字改成python2.exe,那么在运行Python2的文件时这样就可以:
python2 test.py
可是这样会导致改了名字的python对应的pip无法使用。
官方解法
在安装Python3(>=3.3)时,python的安装包实际上在系统安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。
假设你有一个Python2的文件test.py,你可以这样运行它
py -2 test.py
类似,要运行Python3的文件,只要这样
py -3 test.py
其实,py.exe允许你在代码中表明该文件是使用Python2还是Python3解释,只要你在.py文件的开头加上(注意放在# -*- coding: utf-8 -*-
前面)
#! python2
或者
#! python3
然后
py test.py
就能使用Python2或Python3解释。
另外,使用pip安装工具就可以这样:
py -2 -m pip install package-name
或者
py -3 -m pip install package-name
掌握了以上的技巧,就可以随意使用Python2和Python3了。