本文经作者授权发布,未经授权请勿转载。
文 | tenlau(劉騰龍)@Tencent
自 Python3 出现后,很多lib的架构及用法已改变,以往 Python2 卻不支持,令不少开发者感得困扰,要解决这个 Python2 及3環境的切换问题,我们需要一个能夠把不同开发环境分开的工具。
简单搜索,我们发现了三个可以解决这个问题的工具,他们分别是:
-
virtualenv
-
pythonbrew
-
pyenv
pythonbrew
在 Github 官方看到有关 pythonbrew 已经停止更新的讯息,并且鼓励用家使用 pyenv,其实 pythonbrew 与 pyenv 基本上是同样的工具,这样我们便剩下两个选择了。
virtualenv
首先我们先说 Virtualenv (請先安裝該套件),运作原理如下:
在 Linux 上安装不同的 python 版本,比如说 Python2.7 及 Python3.2。
创建以 Python2.7 为解释器的环境:
virtualenv -p /usr/bin/python2.7 env2.7
创建以 Python3.2 为解释器的环境:
virtualenv -p /usr/bin/python3.2 env3.4
用 Linux 套件 Tree 查看两个环境的目录:
env2.7
env3.4
当我们创建不同的环境时,virtualenv 会把系统内安装了的各 Python 版本的相关库及套件复制到我们的指定目录下,以目录来隔离各版本的 Python,详细图示:
日后我们只要激活所需环境便可在不同环境进行开发:
source env2.7/bin/activate