设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 10210|回复: 0
打印 上一主题 下一主题

如何在一台电脑上同时使用 Python 2 和 Python 3

[复制链接]

169

主题

1

好友

733

积分

版主

Rank: 7Rank: 7Rank: 7

跳转到指定楼层
楼主
发表于 2018-6-7 21:55:00 |只看该作者 |正序浏览

Python 的版本是这几年被开发者诟病的一大槽点,也让众多新手头疼不已。逐渐退居二线的老版本 2 存在不少缺陷但应用广泛,而新版本 3 为了彻底解决历史遗留问题决定另起炉灶不向后兼容。

对于开发者来说,如果要更新版本,将有大量的代码移植工作,同时还得考虑外部依赖库的兼容性。而对于学习者来说,最大的问题莫过于:我要学 2 还是学 3?

不过今天要说的不是 2 与 3 的选择,而是另一个事情。如果你想兼容并包地看下两个版本的教程,或是已经基本掌握一个版本,打算 get 另一个版本时,就必须要面对如何在你的电脑上同时使用 Python 2 和 Python 3 的问题。

Linux

如果你是 Linux 系统,通常都默认安装了 Python 2.x 版本,在命令行下查看版本:
  1. python -V
复制代码
而通过包管理或者编译安装的 Python 3 版本,会是另一个名字:python3(也有的是带小版本号如 python3.4)。再查看版本:
  1. python3 -V
复制代码
因此只要用不同的命令,就可以区分版本了。
  1. python test_v2.py
  2. python3 test_v3.py
复制代码
如果想要用 python3 替换默认的 python,常见的做法是修改系统 PATH 路径中的 python,让它成为一个指向 python3 的软链接,或者用 alias,将 python 指定为 python3 的别名。

Mac

Mac 系统也默认装有 Python 2.x 版本。安装3版本一种较方便的方法是使用 homebrew(需自行安装):
  1. brew install python3
复制代码
同样,它叫做 python3,与原有的 python 区别开。

Windows

而在 Windows 上,默认没有 Python,需要下载安装。官网上提供有不同版本,安装后路径不同,但执行程序名称均为 python.exe。

看上去好像要复杂一些。但其实官方已经很贴心地提供了一个解决方案:当你安装 Python 3 版本之后,就会同时安装一个名为 py.exe 的 Python 启动器。可以用它替代 python 命令:
  1. py test.py
复制代码
并且可以指定版本(前提是安装了对应版本):
  1. py -2 test_v2.py
  2. py -3 test_v3.py
复制代码
上一次说到可以通过 pip 来安装第三方模块(参见 如何安装 Python 的第三方模块)。如果系统里有了两个版本的 Python,用 pip 时需注意,究竟是安装在了哪个版本上。

通过命令可查看 pip 默认的对应版本:
  1. pip -V
复制代码
为了防止出现版本对应混乱的情况,除了默认的 pip 之外,每个版本都有对应的副本,如 pip2、pip2.7、pip3、pip3.5。所以当需要明确安装版本时,可使用对应的命令:
  1. pip2 install ...
  2. pip3 install ...
复制代码
除此之外,Windows 上也可以这样做:
  1. py -2 -m pip install ...
  2. py -3 -m pip install ...
复制代码
当然,这些的前提是将对应目录加到了系统变量 PATH 路径里,包括 Python 安装目录及其 Scripts 子目录。如果没有在安装时勾选全部可选项,让安装程序自动帮你设置好,则需要手动添加。

还有种优雅的方法控制不同 Python 版本的共存,就是通过 pyenv 或者 virtualenv 创建虚拟开发环境。之后也会来说一说。

其他文章及回答:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 02:01 , Processed in 0.016041 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部