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

目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护。

到底是选择Python2还是选择Python3,取决于当前要使用的库、框架支持哪个版本。

例如:HTMLTestRunner、locustio支持Python2,但是不支持Python3。

所以很多时候,一台电脑上需要同时安装Python2和Python3。

本篇内容主要讲一下,在同一台电脑上如何同时安装Python2和Python3,且均可以正常使用pip。

一、安装Python2(以及pip)

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

对于Windows用户来说,如果是32位系统,则选择x86版本;如果是64位系统,则选择64版本的安装文件。

我自己的电脑是64位,下面的例子按照64位进行说明。

下载的安装文件的名字类似于这个样子:python-2.7.12.amd64.exe

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

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

1.3、添加Python2的环境变量

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

在此处添加   ;E:\setup\Python27\Scripts\;E:\setup\Python27\;   (此处根据自己的安装路径来写,且注意用英文分号和别的变量值隔开;

若不配置该变量,在cmd中输入Python2时会提示“不是内部命令”)

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

1.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)

1.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。

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

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

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

对于Windows用户来说,如果是32位系统,则选择x86版本;如果是64位系统,则选择64版本的安装文件。

我自己的电脑是64位,下面的例子按照64位进行说明。

下载的安装文件的名字类似于这个样子:python-3.5.0-amd64.exe

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

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

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

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

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

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

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

2.5、验证Python3里pip是否自动安装成功

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

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

以上一和二将python2和python3 以及各自的pip安装完成。

三、具体使用

若是在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

四、下载模块

在下载过程中出现了这样的问题SyntaxError: invalid syntax ,参考了这位得解决办法,成功解决

就是在出现这个提示后,直接输入exit()先退出一下,直接安装即可

、使用清华镜像下载,原文链接

官方地址

首先,如果只是临时下载一个包
那么可以使用

 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 要下的包名

如果是永久修改镜像源

 pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

如果网络不好则使用这个

 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
``

亲测速度杠杠得

六、更新pip

提醒我要更新,给了命令,但是直接使用命令,并没有更新成功

然后我就用清华镜像更新,可以了

看一下版本

安装python3.8和python2.7的更多相关文章

  1. 7-linux-Centos7安装python3并与python2共存

    转载自:https://www.cnblogs.com/JahanGu/p/7452527.html linux-Centos7安装python3并与python2共存   1.查看是否已经安装Pyt ...

  2. linux上安装python3同时保留python2

    linux上安装python3同时保留python2?这个就要用到上篇说到的path变量了. 具体介绍及操作 这里我下载python3.6版本来进行介绍 django默认数据库为sqlite3,所以安 ...

  3. CentOS7下安装Python3并保留Python2

    1. 安装make编译指令的依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel ...

  4. linux-Centos7安装python3并与python2共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  5. Centos7安装python3并与python2共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  6. 最新Centos7安装python3并与python2共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  7. ubuntu安装Python3并与Python2自由切换

    一.配置ssh链接安装openssh-server sudo apt-get install openssh-server 二.安装Python3及pip sudo apt-get install p ...

  8. 一条命令在Centos7中换163 yum源、安装python3并与python2共存、使用豆瓣pip源加速

    打开一个Terminal: 换yum源: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup & ...

  9. linux安装python3.*,更换Python2.*

    下载并解压:Python-3.5.7.tgz [root@AH-aQYWTYSJZX01 python3]# ll total 20268 -rw-r----- 1 temp01 temp01 207 ...

随机推荐

  1. Salesforce LWC学习(十四) Continuation进行异步callout获取数据

    本篇参考: https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.apex_continua ...

  2. 凸包问题 Graham Scan

    2020-01-09 15:14:21 凸包问题是计算几何的核心问题,并且凸包问题的研究已经持续了好多年,这中间涌现出了一大批优秀的算法. 凸包问题的最优解法是Graham Scan算法,该算法可以保 ...

  3. 最简单的 TensorFlow 代码,TensorFlow Hello World 。

    # -*- coding:utf-8 -*- from __future__ import print_function ''' HelloWorld example using TensorFlow ...

  4. Kannada-MNIST:一个新的手写数字数据集

    TLDR: 我正在传播2个数据集: Kannada-MNIST数据集:28x28灰度图像:60k 训练集 | 10k测试集 Dig-MNIST:28x28灰度图像:10240(1024x10)(见下图 ...

  5. Jmeter4.0接口测试之断言实战(六)

    在接口测试用例中得有断言,没有断言的接口用例是无效的,一个接口的断言有三个层面,一个是HTTP状态码的断言,另外一个是业务状态码的断言,最后是某一接口请求后服务端响应数据的断言.在Jmeter中增加断 ...

  6. Selenium系列(十四) - Web UI 自动化基础实战(1)

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  7. coding++: java把一个整数拆分为单个值

    方式一: int num = 100; int[] ary = new int[(num+"").length()]; for(int i = ary.length-1;i> ...

  8. Python python 五种数据类型--字典

    # 定义一个字典 var1 = {'a':20,'b':40}; var2 = dict(); print(type(var1)) print(type(var2)) # 长度 length = le ...

  9. [hdu1269]城堡迷宫<tarjan强连通分量>

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 tarjan算法是oi里很常用的一个算法,在理解方面需要多下一些功夫,如果不行直接记模板也行,因 ...

  10. JS 剑指Offer(四) 从尾到头打印链表

    题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 首先定义一下链表中的节点,关于链表这个数据结构在另外一篇文章中会详细讲 function ListNode(val) { t ...