如何在 Linux 上使用 Pyenv 管理多个 Python 版本

你是一名程序员,想在多个不同的 Python 环境中测试你的 Python 代码。 你会怎么做? 安装特定的 python 版本并测试您的代码,然后卸载该版本并再次安装另一个不同的版本并测试代码? 不,等等! 这不是不必要的。 见面 派恩夫,一个用于同时管理多个 Python 版本的命令行实用程序。 它使 python 版本管理比以往更容易。 它用于安装、卸载和切换到多个不同版本的 Python。

Pyenv 允许您基于每个用户更改全局 Python 版本,为每个项目的 Python 版本提供支持,使用环境变量覆盖 Python 版本,以及一次从多个 Python 版本中搜索命令。 Pyenv 可用于跨多个 python 环境测试您的代码。 在本教程中,我们将介绍如何在 GNU/Linux 上安装和使用 Pyenv。

内容

  1. 在 Linux 上安装 Pyenv
  2. 在 Linux 上使用 Pyenv 管理多个 Python 版本
    1. 安装 Python
    2. 在不同的 Python 版本之间切换
    3. 设置虚拟环境
    4. 删除特定的 python 版本
    5. 帮助我们帮助您:

在 Linux 上安装 Pyenv

首先,安装以下软件包以避免常见的构建问题。

对于基于 Debian 的系统:

$ sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

对于基于 RPM 的系统:

$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

对于 SUSE/openSUSE:

$ sudo zypper in zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel

我们刚刚安装了必要的先决条件。 是时候安装 Pyenv 了。 安装 Pyenv 的官方推荐方法是使用 pyenv-installer 脚本。 您所要做的就是在您的 shell 中运行以下命令来安装 pyenv。

$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

在安装结束时,安装程​​序会通知您将 Pyenv 添加到您的 PATH 中。 就我而言,我在我的 ~/.bash_profile 文件。

  PATH="/home/ostechnix/.pyenv/bin:$PATH"  eval "$(pyenv init -)"  eval "$(pyenv virtualenv-init -)"

运行以下命令以使更改生效。

$ source ~/.bash_profile

Pyenv 可以使用了。 现在让我们看看如何使用 Pyenv 管理不同版本的 Python。

在 Linux 上使用 Pyenv 管理多个 Python 版本

首先,让我们看看所有可用的版本。 为此,只需运行以下命令:

$ pyenv install -l

或者,

$ pyenv install --list 

您应该输出如下所示的内容。

Available versions:  2.1.3  2.2.3  2.3.7  2.4  2.4.1  .  .  .  3.6.2  3.6.3  3.6.4  3.7.0b1  3.7-dev  3.8-dev [...]

列出当前安装的 Python 版本:

$ pyenv versions * system (set by /home/ostechnix/.pyenv/version)

默认情况下,Pyenv 使用我们系统默认的 python。 这里 * 表示默认。

安装 Python

假设您的系统上需要 Python 2.7.14 和 3.6.4 版本。

为此,只需运行:

$ pyenv install 2.7.14

要安装 Python 3.6.4,请运行:

$ pyenv install 3.6.4

你不需要 sudo 权利。 所有 Python 版本都将安装在 $HOME 中 pyenv 根目录中的单独目录下。 默认的 pyenv 根目录是 ~/.pyenv. 例如 Python 2.7.14 安装在 /home/ostechnix/.pyenv/versions/2.7.14 就我而言。

$ ls /home/ostechnix/.pyenv/versions/ 2.7.14 3.6.4

现在列出已安装的 Python 版本。

$ pyenv versions * system (set by /home/ostechnix/.pyenv/version)  2.7.14  3.6.4

在不同的 Python 版本之间切换

我们可以通过两种方式切换到不同的python,全局和本地。

让我们使用命令查看当前的全局 python 版本:

$ pyenv global system

没有了。 我的系统仍然使用系统默认的python。 让我们切换到不同的 Python 版本,例如 2.7.14.

$ pyenv global 2.7.14

现在检查默认的 Python 版本:

$ pyenv versions  system * 2.7.14 (set by /home/ostechnix/.pyenv/version)  3.6.4

你注意到星星了吗

? 是的,2.7.14 是我们全球默认的 Python 版本。

$ pyenv global 2.7.14 3.6.4

您还可以一次将多个版本指定为全局 Python。 假设您有两个版本的 2.7.14 和 3.6.4。 如果您更喜欢 2.7.14 而不是 3.6.4,只需运行:

$ pyenv versions  system * 2.7.14 (set by /home/ostechnix/.pyenv/version) * 3.6.4 (set by /home/ostechnix/.pyenv/version)

现在检查全局版本。

现在 2.7.14 和 3.6.4 是默认的全局版本。 我们可以通过将版本名称写入 .python 版本

当前目录中的文件。 请注意,本地版本会覆盖全局版本,并且可以通过设置 PYENV_VERSION 环境变量或使用 pyenv shell 命令自行覆盖。

$ cd myproject/

切换到您的项目目录:

$ pyenv local 3.6.4 

让我们切换到 3.6.4。

$ pyenv versions  system  2.7.14 * 3.6.4 (set by /home/ostechnix/myproject/.python-version)

检查当前本地 python 版本。

设置虚拟环境

$ pyenv virtualenv 3.6.4 myenv

要设置具有特定 Python 版本的虚拟环境,请执行以下操作:

$ pyenv global myenv (myenv) [email protected]:~$

要使其全局可用,请运行:

您现在处于虚拟环境中。 做你想做的。 使用 pip 安装、删除 python 应用程序等等。 都是你的。

如果要设置本地虚拟环境(每个目录):

$ pyenv local mylocalenv

CD 到您的项目目录并运行:

$ pyenv uninstall myenv pyenv-virtualenv: remove /home/ostechnix/.pyenv/versions/3.6.4/envs/myenv? y

要删除虚拟环境,只需执行以下操作:

删除特定的 python 版本

$ pyenv uninstall 3.6.4

要卸载特定的 python 版本,例如 3.6.4:

或者,只需删除要删除的版本的目录。

$ pyenv versions

检查当前安装的 python 版本:

$ pyenv

有关更多详细信息,请通过运行以下命令阅读帮助部分:

$ pyenv help install

此外,检查“pyenv help ”以获取有关特定命令的信息。 例如,您可以查看“安装”命令的信息,如下所示。

就这样。 如您所见,管理多个 Python 版本非常容易! 如果你是一名 Python 程序员,那么 Pyenv 是你的武器库中必不可少的工具。

  • 相关阅读:
  • SDKMAN – 轻松管理多个软件开发套件的 CLI 工具

如何在 Linux 上使用 jEnv 管理多个 Java 版本

  • 资源:
  • Pyenv GitHub 存储库

Pyenv-installer 脚本存储库

感谢您的光临!

  • 帮助我们帮助您: 订阅我们的电子邮件通讯:
  • 立即注册 支持 OSTechNix:
  • 通过贝宝捐款 下载免费的电子书和视频:
  • TradePub 上的 OSTechNix 联系我们: 红迪网 | Facebook | 推特 | 领英 |

RSS订阅

祝你有美好的一天!!

Linux开源PyenvPythonPython版本管理