Python2和Python3的共存和切换使用

yipeiwu_com7年前Python基础

  从python2到python3,这两个版本可以说是从语法、编码等多个方面上都有很大的差别。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容,也就是说许多针对早期Python2版本设计的程式都无法在Python 3上正常执行。而且现在,python中的大多数第三方库都正在努力地修改以相容Python 3.0版本。

  我之前初次安装的就是python3.6.2版本,不过在cocos开发时要运行build_native.py等文件,这些文件的语法都是python2版本的语法,由于python2和3的差异,导致编译失败。因此,又在电脑上安装了python2.7.12,这时就出现了python调用版本切换的问题。

  环境变量一直以来都是一件令人头疼的事,无论是从路径设置、软件调用选择和延时生效的方面来看,虽然不算难,但是有些时候特别烦人。

  我的python2放置的路径:C:\Python27

  我的python3放置的路径:F:\python

  因为是在学习过程中安装的,就没有注意特别规范化的命名,下面记录的配置过程则是以这两个路径为基础:

1、进入环境变量配置页面:

  控制面板-》系统和安全-》系统-》高级系统设置

  

  

  

  

  点击环境变量:

  

2、配置环境变量:

  在用户变量里添加两个变量:

  变量名:python

  值:F:\python

  变量名:python2

  值:C:\Python27

  

  python设置的时python3.6.2的路径,python2则是python2.7.12的路径(填入自己的电脑安装的python两个路径)。

  修改Path变量:

  

  添加8个路径:

  F:\python\Scripts\

  F:\python\

  C:\Python27\

  C:\Python27\Scripts\

  %python%\DLLs

  %python%\Lib\lib-tk

  %python2%\DLLs

  %python2%\Lib\lib-tk

  配置如下:

  

  接连三个确定,保存设置并推出环境变量配置界面。

3、验证是否能切换:

  进入cmd:

  

  分别输入python和python2,进入不同版本的python中:

  

  至此,配置两个版本的python切换已经完成。

4、特别注意:

  (1)、在配置环境变量时,如果使用%python%来引入外部的路径,比如%python%\DLLs这个路径,外部的python变量的F:\python结尾一定不要加\。

  原因:%python%是将python变量的值引入,如果结尾加了\,那么Path中的这个路径就会变成F:\python\\DLLs,出现斜杠重复,导致配置出错。

    (虽然这个错误点很基本,但是用到%代入时不易察觉和发现,我之前就是在这个地方绊了老半天。)

  (2)、pip默认是python2版本的第三方库安装,pip3则是python3版本的第三方库安装命令。

  差别:pip命令会默认把安装的第三方库放置在python2.7.12的路径下,pip3命令会默认放置在python3.6.2的路径下。

总结

以上所述是小编给大家介绍的Python2和Python3的共存和切换使用希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

让Python更加充分的使用Sqlite3

我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和条件等查询。这很好,但可以放入内存的只有那么多...

Python二叉树定义与遍历方法实例分析

本文实例讲述了Python二叉树定义与遍历方法。分享给大家供大家参考,具体如下: 二叉树基本概述: 二叉树是有限个元素的几个,如果为空则为空二叉树,或者有一个结点称之为根节点,分列根节点...

Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】

本文实例讲述了Python数据结构与算法之链表定义与用法。分享给大家供大家参考,具体如下: 本文将为大家讲解: (1)从链表节点的定义开始,以类的方式,面向对象的思想进行链表的设计 (2...

使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

使用Python的OpenCV模块识别滑动验证码的缺口(推荐)

最近终于找到一个好的方法,使用Python的OpenCV模块识别滑动验证码的缺口,可以将滑动验证码中的缺口识别出来了。   测试使用如下两张图片:   target....

在Django的URLconf中使用命名组的方法

在我们想要捕获的URL部分上加上小括号,Django 会将捕获的文本作为位置参数传递给视图函数。 在更高级的用法中,还可以使用 命名 正则表达式组来捕获URL,并且将其作为关键字参数传给...