作者:劉騰龍
自 Python3 出现后,很多lib的架构及用法已改变,以往 Python2 卻不支持,令不少开发者感得困扰,要解决这个 Python2 及3環境的切换问题,我们需要一个能夠把不同开发环境分开的工具。
简单搜索,我们发现了三个可以解决这个问题的工具,他们分别是:
在Github官方看到有关pythonbrew已经停止更新的讯息,并且鼓励用家使用pyenv,其实pythonbrew与pyenv基本上是同样的工具,这样我们便剩下两个选择了。
首先我们先说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
source env3.4/bin/activate
顺利安装了pyenv后,查询可安装的版本。
pyenv install --list
我们可以看到不同的Python版本,因为列表很长,只列举当中几个:
安装Python 2.7.9的版本
pyenv install 2.7.9
切换Python 2.7.9的版本
pyenv global 2.7.9
在/home/user/.pyenv/versions目录下便会看到:
2.7.9
当选择该 Python版本安装时,pyenv会从云端下载有关套件并储存在 .pyenv/versions/ 目录下,环境切换则透过嵌入模组 shims 注入路径来决定使用什么版本的Python,详细图示:
标题1 | 标题2 | 标题3 |
---|---|---|
文本1 | 文本2 | 文本3 |
原理 | 优点 | |
---|---|---|
Virtualenv | 进入特定目录,在虚拟环境(局域)下运作。 | Python 版本一样,都可创建无限的局域环境,方便开发者在相同环境使用不同的 site-packages。 |
pyenv | 利用shims 进行全域切换 Python的不同版本。 | Python 从云端下载及即时安装,不需预先在本地安装不同版本才使用。 |
virtualenv 安装及使用方法:https://virtualenv.pypa.io/en/stable pyenv 安装及使用方法:https://github.com/pyenv/pyenv Linux套件 - Tree 的安装及使用方法:https://www.computerhope.com/unix/tree.htm
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。