版权声明:本文为博主原创文章,遵循 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. API离线查看工具【包括!!所用常用!!开发语言的API】

    我相信对于每一个开发人员来说,都是不喜欢死记硬背API的,一些常用的方法或者接口我们是可以直接信手捏来的,或者说直接使用开发工具的自动代码提示,也能很快的找到自己想用的API,如果是自己从未使用过的, ...

  2. mybatis 启用延迟加载和按需加载配置

    启用延迟加载和按需加载 Mybatis配置文件中通过两个属性lazyLoadingEnabled和aggressiveLazyLoading来控制延迟加载和按需加载. lazyLoadingEnabl ...

  3. Bootstrap入门学习笔记(只记录了效果)

    基本头文件 <!DOCTYPE html> <html> <head> <title>Bootstrap 实例</title> <me ...

  4. php echo/print 输出函数比较

    一.两者区别 echo 支持多个字符串输出,用逗号(,)隔开,print只支持一个字符串输出 echo 输出速度比print快 echo 没有返回值,print返回值总是1   二.使用 echo e ...

  5. 又写了两个实用的微信小程序

    忙里偷闲,最近又写了两个小程序. 一个是手机壁纸小程序,名字叫[来搜图],特点是界面干净清爽,没有多余的东西.开发这个是因为讨厌市面上那些壁纸app那样那么多的广告,真的太影响体验了.而且小程序更加轻 ...

  6. Shell之Xargs命令

    目录 Shell之Xargs命令 参考 xargs命令简介 xargs命令格式 xargs实例说明 Shell之Xargs命令

  7. (八十二)c#Winform自定义控件-穿梭框

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  8. Shiro集成SSM基于URL权限管理(一)

    学习了shiro之后,我们就可以说尝试把shiro加入ssm中,并做一套基于URL的权限管理. 其他的准备工作就不多说了,直接动手操作,看到效果再去理解. 表结构 执行如下,数据库名字可以自行修改,不 ...

  9. linux shell 统计当前目录下的文件个数

    shell 统计当前目录下文件个数,使用管道组合命令: ls -1 | wc -l 解释: ls -1 表示一行一个列出文件名. wc -l 表示打印统计的行数. 两个命令通过管道连在一起表示打印列出 ...

  10. 04-Django模型(1)

    ---恢复内容开始--- 模型 MTV图解 ORM ORM全拼:Object-Relation-Mapping翻译就是对象关系映射.在MVC/MTV设计模式中的Model模块中都包括ORM.主要实现模 ...