Python中如何在Windows 7下实现Python2和Python3的共存
win7 下 PY2 和 PY3 怎么做到共存,目前工作环境中还有大部分 PY2 的脚本和工具,,但是近年 PY3 的工具,脚本越来越多,怎么在 PY2 能使用的情况下同时支持 PY3 ???
Python中如何在Windows 7下实现Python2和Python3的共存
装了 Python3 不就有 Python launcher 了么,py -2,py -3 切换
在Windows 7下让Python 2和Python 3共存,关键是处理好环境变量和启动方式。我常用的方法是分别安装,然后通过修改可执行文件名来区分。
具体步骤:
-
分别安装两个版本
- 先安装Python 2(比如2.7.18),安装时记得勾选“Add python.exe to Path”。
- 再安装Python 3(比如3.9.x),安装时务必勾选“Add Python 3.x to PATH”,并选择“Customize installation”在高级选项里勾选“Install for all users”和“Precompile standard library”。
-
关键修改:重命名可执行文件 安装后,进入Python安装目录(通常是
C:\Python27和C:\Python39),手动修改可执行文件名:- 将
C:\Python27下的python.exe改为python2.exe - 将
C:\Python39下的python.exe改为python3.exe
- 将
-
验证安装 打开新的命令提示符(CMD):
python2 --version python3 --version应该能分别显示两个版本的号。
为什么这么做?
Windows的PATH里后安装的Python会覆盖之前的python命令。通过重命名,我们创建了python2和python3两个明确的命令,完全避免了冲突。用哪个版本就敲哪个命令,非常清晰。
虚拟环境使用: 创建虚拟环境时指定解释器路径:
# 为Python 2创建虚拟环境
python2 -m virtualenv venv2
# 为Python 3创建虚拟环境
python3 -m venv venv3
一句话总结: 分别安装后重命名可执行文件是最直接可靠的共存方案。
把 py2 和 py3 文件夹内的程序文件改个名字,然后分别添加到环境变量中就行了
虚拟环境,virtualenv。
miniconda 很省心
pyenv
docker
装 python3 时记得勾选那个 launcher。
脚本里第一行写上
#!python2
或
#!python3
单独运行比如 pip 就写 py -2 -m pip install xxx 或 py -3 -m pip install xxx
8 楼正解 你这样子好像 pip 什么的会出问题的
anaconda
很简单的啊,你先都安装,
windows 下
启动用:py -2 或 py -3,需要 pip 的时候:py -2 -m pip install xxx 或 py -3 -m pip install xxx,
嫌弃麻烦就学着使用 anaconda。
linux 下用 pyenv+virtualenv 也行,anaconda 也行。这东西百度下来不是一堆的嘛
anaconda 不错
如果不做科学计算或数据分析的话,不建议 anaconda,,安装包 500 多 M,,装完可能有 3 个 G 了吧,,绝大多数包可能永远都用不到,,
anaconda 的精简版 miniconda 倒可以试试
- 安装 anaconda3 作为 py3 且为默认 python,不省那么一点空间,省心
2. 装一个 py2,然后将其 python.exe 改名 python2.exe ,我现在 py2 很少用了
不建议改名,我的做法是创建个 symlink。
需要 pip install pipenv 啊
#17 这个办法简单好用啊,用了好几年也没出什么问题。现在所有脚本都已经是 py3 了。
我也困在双版本共存问题上。我简单粗暴的用 2 台电脑解决了此问题。
主要是一些方便的工具,很古老很经典(譬如 DeDRM tools ),年久失修了,只支持 2,没法子,搞了个破电脑运行 2 代脚本
用 pyenv ?


