Crossin的编程教室
标题:
如何在一台电脑上同时使用 Python 2 和 Python 3
[打印本页]
作者:
江水滔滔
时间:
2018-6-7 21:55
标题:
如何在一台电脑上同时使用 Python 2 和 Python 3
Python 的版本是这几年被开发者诟病的一大槽点,也让众多新手头疼不已。逐渐退居二线的老版本 2 存在不少缺陷但应用广泛,而新版本 3 为了彻底解决历史遗留问题决定另起炉灶不向后兼容。
对于开发者来说,如果要更新版本,将有大量的代码移植工作,同时还得考虑外部依赖库的兼容性。而对于学习者来说,最大的问题莫过于:我要学 2 还是学 3?
不过今天要说的不是 2 与 3 的选择,而是另一个事情。如果你想兼容并包地看下两个版本的教程,或是已经基本掌握一个版本,打算 get 另一个版本时,就必须要面对如何在你的电脑上同时使用 Python 2 和 Python 3 的问题。
Linux
如果你是 Linux 系统,通常都默认安装了 Python 2.x 版本,在命令行下查看版本:
python -V
复制代码
而通过包管理或者编译安装的 Python 3 版本,会是另一个名字:python3(也有的是带小版本号如 python3.4)。再查看版本:
python3 -V
复制代码
因此只要用不同的命令,就可以区分版本了。
python test_v2.py
python3 test_v3.py
复制代码
如果想要用 python3 替换默认的 python,常见的做法是修改系统 PATH 路径中的 python,让它成为一个指向 python3 的软链接,或者用 alias,将 python 指定为 python3 的别名。
Mac
Mac 系统也默认装有 Python 2.x 版本。安装3版本一种较方便的方法是使用 homebrew(需自行安装):
brew install python3
复制代码
同样,它叫做 python3,与原有的 python 区别开。
Windows
而在 Windows 上,默认没有 Python,需要下载安装。官网上提供有不同版本,安装后路径不同,但执行程序名称均为 python.exe。
看上去好像要复杂一些。但其实官方已经很贴心地提供了一个解决方案:当你安装 Python 3 版本之后,就会同时安装一个名为 py.exe 的 Python 启动器。可以用它替代 python 命令:
py test.py
复制代码
并且可以指定版本(前提是安装了对应版本):
py -2 test_v2.py
py -3 test_v3.py
复制代码
上一次说到可以通过 pip 来安装第三方模块(参见
如何安装 Python 的第三方模块
)。如果系统里有了两个版本的 Python,用 pip 时需注意,究竟是安装在了哪个版本上。
通过命令可查看 pip 默认的对应版本:
pip -V
复制代码
为了防止出现版本对应混乱的情况,除了默认的 pip 之外,每个版本都有对应的副本,如 pip2、pip2.7、pip3、pip3.5。所以当需要明确安装版本时,可使用对应的命令:
pip2 install ...
pip3 install ...
复制代码
除此之外,Windows 上也可以这样做:
py -2 -m pip install ...
py -3 -m pip install ...
复制代码
当然,这些的前提是将对应目录加到了系统变量 PATH 路径里,包括 Python 安装目录及其 Scripts 子目录。如果没有在安装时勾选全部可选项,让安装程序自动帮你设置好,则需要手动添加。
还有种优雅的方法控制不同 Python 版本的共存,就是通过 pyenv 或者 virtualenv 创建虚拟开发环境。之后也会来说一说。
其他文章及回答:
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5