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

为什么要同时安装Python2和Python3环境呢?

因为一些库只支持Python2或者Python3;

在同一台电脑上如何同时安装Python2和Python3,且均可以正常使用pip。

一、安装Python2(以及pip)

1,下载

Python的官网:https://www.python.org/ 下载Python的安装文件,

对于Windows用户来说,如果是32位系统,则选择x86版本;如果是64位系统,则选择64版本的安装文件:python-2.7.12.amd64.exe

2,安装

点击“”python-2.7.12.amd64“”这个安装文件,一直点击next即可,在选择安装路径时需要特别注意:Python的安装路径不能有空格!

为了区分是Python2还是Python3,把该目录下的python.exe文件重命名为python2.exe,如下面截图所示:

3,环境变量配置

添加Python2的环境变量

电脑--属性--高级系统设置--高级--环境变量--系统变量--Path--编辑

在此处添加   ;E:\setup\Python27\Scripts\;E:\setup\Python27\;   (此处根据自己的安装路径来写,且注意用英文分号和别的变量值隔开;若不配置该变量,在cmd中输入Python2时会提示“不是内部命令”)

4,测试python2

在cmd里,输入Python2,若出现下图中的提示,则表明Python2安装成功

5,安装setuptools

在步骤1.6中要安装的pip,依赖于setuptools,所以需要先安装setuptools,再安装pip。

到官网 https://pypi.python.org/pypi/setuptools 下载,名字类似于这个样子“”setuptools-28.7.0.zip“”(下载时间不一样,版本号可能会不一样),进行解压;

在cmd中进入到解压后的目录(既setup.py文件存在的目录),执行>python2 setup.py install  (注:由于前面步骤1.2中将python.exe文件重命名为了python2.exe,所以此处输入命令时一定要写python2,而不是python)

6,安装pip

pip是安装和管理python包的工具,通过pip来安装python包变的十分简单。

到官网 https://pypi.python.org/pypi/pip ,下载pip的压缩文件,下载后名字类似于这个样子“”pip-8.1.2.tar“”(下载时间不一样,版本号可能会不一样),进行解压;

在cmd中进入到解压后的目录(既setup.py文件存在的目录),执行>python2 setup.py install (注:此处执行的命令为啥是pytho2,而不是python,原因同1.5一样)

此时我们看一下Python2的pip的安装目录E:\setup\Python27\Scripts,看下面截图中,有pip、pip2.7、pip2,说明此时在cmd中执行pip或是pip2.7或是pip2,执行的都是Python2的pip。

7,测试pip2

在cmd里输入pip2或是pip2.7,若出现以下截图中的内容,说明pip安装成功

二、安装Python3(由于Python3自带pip,所以无需另外安装pip)

1,下载

到Python的官网 https://www.python.org/ 下载Python3的安装文件,

对于Windows用户来说,如果是32位系统,则选择x86版本;如果是64位系统,则选择64版本的安装文件:python-3.5.0-amd64.exe

2,安装

点击“”python-3.5.0-amd64.exe“”这个安装文件,一直点击next即可,在选择安装路径时需要特别注意:Python的安装路径不能有空格!

3,环境变量配置

检查Python3的环境变量是否添加

Python3在安装时可以选择自动添加环境变量,但是有时候却无法自动添加,所以此时自己确认一下。

此电脑--属性--高级系统设置--高级--环境变量--系统变量--Path

若没有有关Python3的环境变量,在此处添加   ;E:\setup\Python35\Scripts\;E:\setup\Python35\;   (此处根据自己的实际安装路径来写)

4,测试python3

检查python3是否安装成功,在cmd中输入python,若显示如下图所示,是有关python3的版本,则说明python3安装成功。

你可能有疑问:为什么这里不输入python3?  答:因为没有修改E:\setup\Python35目录下python.exe文件的名字为python3.exe。Python2里做了修改,所以这                                                                                 里修改不修改都无所谓,只要是能与E:\setup\Python27目录下的python.exe文件不重名即可。

5,验证pip3

在cmd里输入pip3或是pip3.5(此时输入pip看不出是Python2还是Python3中的pip),若有截图中的显示则表明Python3中pip自动安装成功。

此时你可能有疑问,你怎么知道是输入pip3或是pip3.5,而不是pip3.6?因为在E:\setup\Python35\Scripts目录下pip.exe文件的名字决定的,

如下图所示:

三、具体使用

若是在Python2中使用pip操作时,用pip2或是pip2.7相关命令。

例:给Python2安装selenium,在cmd中输入 pip2 install selenium 或是 pip2.7 install selenium

若是在Python3中使用pip操作时,用pip3或是pip3.5相关命令。

例:给Python3安装selenium,在cmd中输入 pip3 install selenium 或是 pip3.5 install selenium

若有的包不支持pip的安装形式,将相应的文件下载解压后放入到某个目录下,用cmd进入到解压后的目录

若是给Python2安装该包,则执行python2 setup.py install

若是给Python3安装该包,则执行python setup.py install

四、问题解决办法

问题:

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

不晓得大家都没有遇到过这个问题,还是遇到过但是很简单就解决了,不值得备忘一下;在网上没有找到有价值的解决办法;

但是当从新理清思路,从新安装两个版本的python,开始意识到应该是pip的版本安装的有问题;

下面就把我解决的思路写一下;

解决思路:

其实也不是解决了这个问题,而是规避了这个问题,从新用另外的方法安装两个版本的pip,安装py2-py3公用的pip版本:

Python 安装包需要用到包管理工具pip,但是当同时安装python2和python3的时候,pip只是其中一个版本,以下将提供一个修改方式,即重新安装两个版本的pip,使得两个python版本的pip能够共存。

在DOS命令框输入命令,python3 -m pip install --upgrade pip --force-reinstall,显示重新安装成功。

在DOS命令框输入命令,python2 -m pip install --upgrade pip --force-reinstall,显示重新安装成功。

现在可以通过pip2 -V 和 pip3-V 查看两个版本的pip信息,使用pip2和pip3查看下是否有用,以后只需运行pip2 install XXX和pip3 install XXX即可安装各自的python包。

Python3: Windows系统上同时安装Python2和Python3的更多相关文章

  1. Windows系统下同时安装Python2和Python3

    Windows系统下同时安装Python2和Python3 说明 有时由于工作需求我们需要在Python2版本下面进行一些开发,有时又需要Python3以上的版本,那么我们怎么在一台电脑上同时安装多个 ...

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

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

  3. 一台电脑上同时安装python2和python3

    被python2的编码问题整的快晕了,python3对编码问题解决的不错 所以想安装下python3,但由于目前企业大多还是用python2,所以不想卸载2,让python2和python3共存. 本 ...

  4. 如何在win10上同时安装python2和python3

    哎,其实本人已经用惯了python2,听说python3的语法有很多不一样的地方,那我之前写的算法改起来岂不是日了狗了吗?所以一直没改用python3.但是谷歌的那个TensorFlow,在windo ...

  5. Windows10系统下安装python2和python3双版本

    Windows10系统下安装Python3的步骤已经演示过(详见:https://www.cnblogs.com/schut/p/8399195.html),此处不再赘述Python的下载,主要介绍在 ...

  6. 在win10上同时安装Python2/Python3

    如何在win10上同时安装python2和python3? 为了满足日常工作或者学习的需要,我们可能会经常用到python2和python3,下面是给大家在win10上同时安装两个版本的python的 ...

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

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

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

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

  9. 同时安装Python2和Python3,如何兼容并切换使用详解

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

随机推荐

  1. Python内置函数之isinstance,issubclass

    isinstance判断一个变量的类型 >>> n1 = 10>>> isinstance (n1,int)True 判断n1是否是数字类型,如果是返回True如果 ...

  2. 11.20 HTML及CSS

    <div>用于分组HTML元素的块级元素HTML表单,用于收集不同类型的用户输入<input type='radio'>:定义了表单的单选框按钮<input type=' ...

  3. tun笔记

    https://www.kernel.org/doc/Documentation/networking/tuntap.txt 虚拟网卡 TUN/TAP 驱动程序设计原理 https://www.ibm ...

  4. 修改机器名、IP对arcgis server、portal的影响?

    修改机器名.IP是否对ArcGIS Server .Portal等有影响? 请教赛姐:修改IP对ArcGIS Server .Portal 无影响,不过建议将ArcGIS Server .Portal ...

  5. Python 目录【持续更新中】

    Python 基础 字符编码 数据类型 文件处理 流程控制 练习题 函数,递归 匿名函数.内置函数 装饰器变形记 函数装饰器 递归 二分法 迭代器和生成器 协程函数 列表表达式 生成器表达式 异常处理 ...

  6. elasticsearch数据转移,elasticdump的安装使用

    模拟: 将本地的my_index的products的一条document转移到http://192.168.111.130的一个es服务器上. (一)安装elasticdump 先安装node.js, ...

  7. Memcached集群架构方面的问题(转)

    add by zhj: 这是一个系列中的第二篇,该系列有四篇,英文原文没找到,译文见:http://blog.csdn.net/jarfield/article/details/4336035 ,附上 ...

  8. 总结web应用中常用的各种cache(转)

    add by zhj:还没来得及看,有空再细看 原文:https://ruby-china.org/topics/19389 cache是提高应用性能重要的一个环节,写篇文章总结一下用过的各种对于动态 ...

  9. 【Python】xpath中为什么粘贴进去代码后老报错?如何在定位元素的时候准确找到定位切入点?

    1. xpath后()中双引号("")里面不能套用双引号(""),把里面的双引号改成单引号('')报错就没有了. 2.如何在定位元素的时候准确找到定位切入点? ...

  10. flask简单的路由分发

    flask简单的路由分发 from flask import Flask, request app = Flask(__name__) @app.route('/hello') def index() ...