版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vitaminc4/article/details/76683339
写在前面
因为各种神奇的原因,我需要在window环境上同时安装python2和python3,Mac同时安装python2和python3比较简单,相比之下,win上就有些麻烦了。不过还好,终归是有办法的。

开始安装
step1 下载python2和python3的安装程序
https://www.python.org/官网直接下载就可以,推荐下载32位的python2和python3,因为很多第三方库对64位python的支持不是很好。我这里下载的是python-2.7.13和python-3.6.2。

step2 安装python2
安装路径为 C:\Python27
切记不要勾选“自动添加到系统路径”这类的选项

step3 安装python3
安装路径为 C:\Python36
同样切记不要勾选“自动添加到系统路径”这类的选项。
这里说明一下:

python2和python3的安装顺序并不重要。
切记不要让安装程序自动添加到系统路径,我们手动添加。因为有时候他会将自己添加到路径,而把其他的路径覆盖掉。这样虽然python正常了,其他的就呵呵了。和window版本有关。
安装完之后,此时在cmd中还是无法运行的,会提示没有该命令,别急,因为我们安装的python还没有添加到路径中。

step4 添加到路径中
控制面板 → 右上角小图标:排列方式 → 小图标 → 系统 → 左侧:高级系统设置 → 高级 → 环境变量 → 双击 用户变量中的“PATH” → 新建

添加如下几个路径到PATH中:
C:\Python27
C:\Python27\Scripts
C:\Python36
C:\Python36\Scripts

step5 确保没有重名文件
python2的两个路径我们不做处理。
C:\Python27
C:\Python27\Scripts

python3路径需要处理,这里很重要!
将目录C:\Python36下的python.exe改名为python3.exe;
目录C:\Python27\Scripts下应该有pip、pip3、pip3.6,把pip删除。

此时在命令行中,我们已经可以使用python命令来运行python2,python3命令来运行python3了。也可以使用python -V和python3 -V来查看版本。

我们再使用pip命令来运行python2的pip,使用pip3命令来运行python3的pip。此时,很有可能提示某一个pip命令不存在。不要慌!哪个版本的pip命令提示不存在,我们就重新安装下该版本的pip。

python -m pip install --upgrade pip --force-reinstall
python3 -m pip install --upgrade pip --force-reinstall
1
2
重装pip后,记得重新检查有没有重名文件,有的话照旧处理。
重启下cmd,这次应该可以正确运行了:

python和pip命令对应于python2的
python3和pip3命令对应于python3的
step6 虚拟环境
一般情况下,step5结束就已经大功告成了。

不幸的是,事实告诉我,还是会有问题的。好在,我们还是可以解决的。

比如在运行pip3 install scipy时,会报错,报错的内容是语法不对,它调用了python2的解释器来运行!

可能还有其他的问题,我还没有发现。

所以,让我们祭出python大杀器,python虚拟环境virtualenv。

测试在虚拟环境中,可以避免上述问题,目前为止还没有遇到什么问题。

window平台下的python虚拟环境virtualenv
————————————————
版权声明:本文为CSDN博主「DreamLee0625」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vitaminc4/article/details/76683339

Window 同时安装Python2和Python3 终极版的更多相关文章

  1. 【转】Windows下安装python2和python3双版本

    [转]Windows下安装python2和python3双版本 现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里 ...

  2. 在同一台电脑上同时安装Python2和Python3

    目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3,取决于当前要使用的库.框架支持哪个版本. 例如:HTM ...

  3. win10下安装python2与python3以及pip共存

    一 分别安装python2和python3 注意: 安装时记得勾选 Add Python.exe to Path 二 安装pip Python3最新版本有pip,无需安装 Python2: 下载pip ...

  4. 当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)

    由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...

  5. Mac同时安装python2和python3

    Mac同时安装python2和python3 Mac自带python2,但因为开发时所用但pythonkennel是3也可能是2,并且就算是python2,版本号也许和内置但python也有所不同.所 ...

  6. 电脑同时安装Python2和Python3以及virtualenvwrapper(转)

    电脑同时安装Python2和Python3以及virtualenvwrapper  https://www.jianshu.com/p/d22f19496e03   windows: 1 下载地址:P ...

  7. Python3: Windows系统上同时安装Python2和Python3

    Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...

  8. 电脑同时安装python2和python3, 如何实现切换使用

    由于历史原因,Python有两个大的版本分支,Python2和Python3,又由于一些库只支持某个版本分支,所以需要在电脑上同时安装Python2和Python3,因此如何让两个版本的Python兼 ...

  9. 本地同时安装python2和python3时pip报错

    引言: 安装完成后,想测试一下两个版本的pip是否都可以正常工作,结果python3的能正常工作,但是pip2 --version就会报错,报错信息如下: Traceback (most recent ...

随机推荐

  1. windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题

    // 全局变量,用于指示共享的资源是否在使用 BOOL g_fResourceInUse = FALSE; void Func1() { //等待访问资源 while(InterlockedExcha ...

  2. 阿里云服务器CentOS6.9 nexus私服使用

    exus安装成功之后,我们开始使用. 登录nexus: 访问地址:http:ip地址:8081/nexus 默认登录账号:admin 密码:admin123 登录成功之后页面: 点击[Reposito ...

  3. java第4天:String static Arrays类,Math类

    1 字符串的概述和特点 字符串一旦创建,是不可变的. 有双引号的就是字符串 *** 2 字符串的三种构造方法 2-1 第一种: 格式:String str = new String();| :-| 2 ...

  4. Http协议Content-Length详解

    前言 http协议是互联网中最重要的协议之一,虽然看上去很简单,但是实际中经常遇到问题,我们就已经遇到好几次了.有长连接相关的,有报文解析相关的.对http协议不能一知半解,必须透彻理解才行.本文通过 ...

  5. Java 添加、修改、读取、删除PPT备注

    概述 幻灯片中的备注信息是只提供给幻灯片演讲者观看的特定内容,在演讲者放映幻灯片时,备注信息可给演讲者提供讲解思路,起到辅助讲解的作用.本文将通过Java程序来演示如何操作PPT幻灯片中的备注信息,要 ...

  6. wildfly(JBoss AS)应用服务器快速入门

    什么是wildfly JBoss AS 从8版本起名为wildfly.Wildfly是一个开源的基于JavaEE的轻量级应用服务器.可以在任何商业应用中免费使用. WildFly是一个灵活的.轻量的. ...

  7. 对象模型(Object-Model):关于vptr、vtbl

    当一个类本身定义了虚函数,或其父类有虚函数时,为了支持多态机制,编译器将为该类添加一个虚函数指针(vptr).虚函数指针一般都放在对象内存布局的第一个位置上,这是为了保证在多层继承或多重继承的情况下能 ...

  8. HTTP中get和post

    HTTP中get和post的区别 GET - 从指定的资源请求数据. POST - 向指定的资源提交要被处理的数据 GET POST 后退/刷新 无害的 数据会被重新提交 书签 可收藏为书签 不可收藏 ...

  9. insert增数据详解

    查看表结构: desc 表名; describe的缩写,意为描述 增加数据不会改变表的结构,只是增加了行. 创建一张表: mysql> create table class( -> id ...

  10. window下 phpstorm 打不开

    如果 window 上不能执行 strace 命令, 安装 Git Bash 工具. 切换到 phpstorm 安装的 bin 目录: D 盘的相关文件昨天被我删了!奇怪这文件怎么放到那里了? 换个路 ...