Linux(CentOs或Ubuntu)安装pyenv

内容纲要

一、pyenv是什么

pyenv 是一个用于管理多个 Python 版本的工具。它使用户可以方便地在不同的 Python 版本之间切换,并为不同的项目指定特定的 Python 版本。pyenv 的主要功能包括:

  1. 安装和管理多个 Python 版本:可以安装不同的 Python 版本,包括 CPython、Anaconda、PyPy、stackless 和 Jython 等。
  2. 切换 Python 版本:可以轻松切换全局或局部(针对特定项目)的 Python 版本。
  3. 与其他 Python 管理工具集成:如 pipenvvirtualenv 等,pyenv 可以与这些工具配合使用来管理项目的依赖关系和虚拟环境。

二、从源码安装pyenv

1、下载源码

检查你希望安装 Pyenv 的位置。一个不错的选择是 $HOME/.pyenv(但你也可以安装在其他地方):

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2、(可选)尝试编译一个动态 Bash 扩展以加速 Pyenv。如果失败也不用担心,Pyenv 仍然可以正常工作:

cd ~/.pyenv && src/configure && make -C src

3、将bin目录下的pyenv设置到环境变量里

3.1 打开终端并以超级用户身份编辑 /etc/profile 文件
sudo nano /etc/profile
3.2 在文件末尾添加以下内容
export PYENV_ROOT="/root/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
3.3 保存并关闭文件(在 nano 编辑器中,按 Ctrl + X,然后按 Y 确认保存并按 Enter 退出)。
3.4 使更改生效
source /etc/profile

4、验证 pyenv 是否已正确配置

pyenv versions

如果 pyenv versions 能正确列出你安装的 Python 版本,则表示环境变量配置成功。

三、从脚本安装pyenv

以下是安装和使用 pyenv 的步骤:

  1. 安装 pyenv
    可以使用以下命令安装 pyenv(假设你使用的是 Ubuntu 或类似的 Linux 系统):

    curl https://pyenv.run | bash
  2. 更新 shell 配置文件
    pyenv 的初始化脚本添加到 shell 的配置文件中(如 .bashrc.zshrc 等),以便在启动 shell 时加载 pyenv。假设使用的是 .bashrc

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  3. 重新加载 shell 配置文件

    source ~/.bashrc
  4. 安装 Python 版本
    使用 pyenv 安装所需的 Python 版本。例如,要安装 Python 3.8.6:

    pyenv install 3.8.6
  5. 设置全局或局部 Python 版本

    • 设置全局默认的 Python 版本:
      pyenv global 3.8.6
    • 为当前目录设置局部的 Python 版本:
      pyenv local 3.8.6
  6. 验证 Python 版本

    python --version

通过以上步骤,你就可以使用 pyenv 来管理和切换不同的 Python 版本,从而更方便地开发和运行各种 Python 项目。

四、注意事项

  • 确保 .pyenv 安装在 /root 目录下,并且目录路径正确。
  • 如果你的 pyenv 安装路径不同,请相应修改路径。
  • pyenv init --path 用于配置 pyenv 的路径,pyenv init - 用于初始化 pyenv 的 shell 集成。
  • 完成以上步骤后,pyenv 应该在系统启动时自动加载,并可在所有用户的终端会话中使用。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward