在 Python 3 刚发布的时候,程序员们并不喜欢使用 Python 3,很多人依然在使用着 Python 2。尽管在现在,Python 3 已经成为主流,但 Python 3 目前也已经发展到了 Python 3.9,也有着许多的版本。不同的 Python 版本在功能上会有一点区别,这就使得同样的一段代码在不同的 Python 环境中会有不一样的结果。

对于第三方库也是如此,第三方库的版本迭代速度也是十分快的,同样的代码在不同版本的库中运行,效果也会不大一样。

解决这两个问题的方式,就是使用「Python 虚拟环境」。使用「Python 虚拟环境」可以实现每一个项目对应一个 Python 的版本和库的版本,并且不同的项目之间不会相互影响。我们可以通过 Pyenv 来管理 Python 版本,通过 Pipenv 来管理包的版本。

通过 Pyenv 来管理你的 Python 版本

Pyenv 安装

Pyenv 是一个方便管理和切换 Python 版本的软件,但要注意的是, Pyenv 只能管理通过 Pyenv 来安装的 Python,而不包括用其他方式安装的 Python。在 Mac 上,我们可以通过 Homebrew 来安装 Pyenv

brew install pyenv

在安装完成后,还需要配置环境变量,如果你使用 oh-my-zsh,你可以在你的 .zshrc 文件中新增:

export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

并通过 source ~/.zshrc 来使配置生效。

Pyenv 基本使用

Pyenv 的使用很简单,但是 Pyenv 下载 Python 的速度十分缓慢。在码云中就有这样的一个项目码云极速下载,通过这个版本的 Pyenv 可以快速下载安装 Python。同时,通过搜狐镜像下载对应的 Python 版本,然后放到 ~/.pyenv/cache/ 文件夹中,然后再通过 pyenv 安装相应的版本即可。

<aside> 💡 pyenv 安装的 Python 在使用时无法导入 sqlite3 这个包,但这个包还是很重要的,用以下方式安装即可正常使用 sqlite3 这个包 CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.7.0

</aside>

通过 Pipenv 来管理你的 Python 的包