zqifa的博客

我不管,反正我最萌~

Windows下Python2与Python3两个版本共存的方法详解

Windows下python2和python3共存方法

方法1:修改python2/3对应python.exe文件名

1.分别安装python2、python3,安装后配置环境变量,将安装目录添加到path环境变量,先后顺序无所谓。

例如:
1.python3安装目录 C:\Python310,那么需要把如下2个目录 C:\Python310;C:\Python310\Scripts\; 添加到环境变量。
2.python2安装目录 C:\Python27,那么需要把如下2个目录C:\Python27;C:\Python27\Scripts\添加到环境变量

2.到python2安装目录下将python.exe复制一份到同目录下重命名为python2.exe,注意是复制+重命名,不是直接重命名。

3.到python3安装目录下将python.exe复制一份到同目录下重命名为python3.exe。

4.调用py脚本时分别用python2和python3调用,如果使用python调用的话则要看当前path环境变量中哪个目录在前面则默认的就是哪个。

这种方法的缺点据说是修改了名字的那个python对应的pip将无法使用。不过经测试,好像没有这个问题。

查看pip版本,看python2/3对应的pip命令能不能使用,执行命令:

PS D:\> pip3 -V
pip 22.1 from C:\Python310\lib\site-packages\pip (python 3.10)
PS D:\> pip2 -V
pip 20.3.4 from c:\python27\lib\site-packages\pip (python 2.7)
PS D:\>

方法2:使用python启动器py.exe区分是使用python2还是python3

我们在安装python3时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放在 C:/windows 文件夹下面,这个启动器允许我们指定使用Python2还是Python3来运行代码。那如何使用py.exe这个启动器呢?

例如,你现在有一个hello.py这个文件想要运行。你可以利用py指定用python2还是python3运行。如果用python2运行,你可以利用 py -2 hello.py; 如果用python3运行,你可以利用 py -3 hello.py 。但是每次运行都要加-2/-3两个参数,会显得很麻烦。所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行:#! python2#! python3.(注:编码说明可以放在第2行)

使用哪个pip

当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:

(1)python2
py -2 -m pip install XXXX
(2)python3
py -3 -m pip install XXXX

done!

作者:zqifa

出处:https://www.l1mn.com

原文地址:https://www.l1mn.com/p/f70dp3.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

公告

昵称:zqifa

站龄: 4年2个月

博客持续完善ing,敬请期待...

打滚求打赏(๑ ̄ ̫  ̄๑)

此处弱弱求打赏~~万一有好心人呢~~

支付宝酱

支付宝赞助

微信酱

微信赞助

随笔分类

php(110)

linux(63)

python(44)

web前端(39)

js(35)

服务器(33)

mysql(30)

html(24)

docker(23)

windows(22)

centos(22)

django(20)

前端设计(18)

git(16)

常用软件(14)

数据库(14)

算法(14)

字符编码(13)

编程进阶(13)

笔记(12)

更多

我的标签

php(106)

linux(47)

python(45)

js(34)

mysql(30)

centos(28)

web前端(23)

docker(22)

windows(22)

django(20)

更多

相册

Copyright © zqifa 联系方式:z___qf@163.com