掌控Python多版本:pyenv的安装与运用

标题:掌控Python多版本管理:pyenv的安装与操作

一、pyenv基本介绍

pyenv是一款用于管理Python不同版本的工具,它能让用户在同一台设备上安装并切换多种Python版本。其通过对环境变量的调整来达成版本的隔离,适用于开发、测试以及有兼容性要求的场景。

官方地址:https://github.com/pyenv/pyenv

Windows版本地址:https://github.com/pyenv-win/pyenv-win

核心功能

  • 多版本共存 :能够安装Python 2.x、3.x等多个版本,涵盖CPython、PyPy、Anaconda等发行版。
  • 版本切换 :可全局设定或者按目录指定Python版本,避免系统默认版本出现冲突。
  • 虚拟环境集成 :配合pyenv-virtualenv插件能够创建独立的虚拟环境。

工作原理

pyenv会把所选Python版本的路径插入到PATH环境变量的最前面,以此覆盖系统默认路径。版本的安装位置一般在~/.pyenv/versions/目录下。

典型使用场景

  • 开发需要兼容不同Python版本的项目。
  • 快速测试代码在新版本Python中的运行情况。
  • 避免因系统Python升级引发依赖问题。

常用命令示例

# 安装指定Python版本  
pyenv install 3.9.12  

# 列出所有已安装版本  
pyenv versions  

# 设置全局默认版本  
pyenv global 3.9.12  

# 为当前目录设置局部版本  
pyenv local 3.8.10  

与类似工具对比

  • virtualenv :仅用于管理虚拟环境,不解决多版本安装问题。
  • conda :侧重于科学计算生态,版本管理是其附属功能。
  • pyenv :专注于轻量级的版本切换,适合纯Python开发。

pyenv的模块化设计使其成为处理多版本Python需求的常用选择,特别适合经常需要切换版本的开发者。

二、pyenv部署

Windows环境部署

官方手册参考:https://github.com/pyenv-win/pyenv-win/blob/master/docs/installation.md#git-commands

1、创建pyenv文件夹

在D盘创建一个名为pyenv的文件夹。

2、下载源码

在cmd中进入D:\pyenv文件夹,执行以下命令:

git clone https://github.com/pyenv-win/pyenv-win.git

若下载失败,可手动从上述地址下载zip包,然后解压到D:\pyenv文件夹中。

掌控Python多版本:pyenv的安装与运用

3、配置环境变量

参考:https://github.com/pyenv-win/pyenv-win/blob/master/docs/installation.md#add-system-settings

打开系统环境变量,添加三个变量PYENV、PYENV_HOME、PYENV_ROOT,内容均为D:\pyenv\pyenv-win。

例如:

掌控Python多版本:pyenv的安装与运用

在Path中添加以下内容:

%PYENV_ROOT%\pyenv-win\bin

%PYENV_ROOT%\pyenv-win\shims

掌控Python多版本:pyenv的安装与运用

保存并退出。

4、验证是否安装成功

打开cmd,执行:

pyenv --version

掌控Python多版本:pyenv的安装与运用

如上表示已安装成功。

输入以下命令,可查看当前激活的Python使用版本:

pyenv version

掌控Python多版本:pyenv的安装与运用

5、安装其它Python版本

安装Python版本:

pyenv install 3.12

掌控Python多版本:pyenv的安装与运用

要切换到“3.12”Python环境,设置全局Python版本:

pyenv global 3.12

查看当前版本:

pyenv version

掌控Python多版本:pyenv的安装与运用

查看可用的Python版本:
pyenv versions

通过以上步骤,就可以在Windows上使用Pyenv来管理多个Python版本了。

6、Python与Pyenv版本切换

如果电脑上之前已安装Python且未通过pyenv控制,pip默认使用环境变量中靠前的版本,可自行调整优先级。

掌控Python多版本:pyenv的安装与运用

若不想调整优先级,默认是Python安装的,又想用pyenv,则在pip前加上pyenv exec即可(不建议)。例如:pyenv exec pip install poetry

Ubuntu环境部署

1、安装依赖项
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
2、源码下载,上传并解压

https://github.com/pyenv/pyenv

unzip pyenv-master.zip
mv pyenv-master pyenv

掌控Python多版本:pyenv的安装与运用

3、配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
exec $SHELL

echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL
4、验证是否安装成功

打开cmd,执行:

pyenv --version

掌控Python多版本:pyenv的安装与运用

如上已安装成功。

5、安装其它Python版本

查看可以安装的版本:

pyenv install --list

安装Python版本:

pyenv install 3.11

设置全局Python版本:

pyenv global 3.11

查看当前版本:

pyenv version

掌控Python多版本:pyenv的安装与运用

查看可用的Python版本:
pyenv versions

输入:

python

掌控Python多版本:pyenv的安装与运用

通过以上步骤,就可以在Linux上使用Pyenv来管理多个Python版本了。

三、常用命令

1. 命令概览

pyenv是用于管理多个Python版本的工具,提供了以下核心命令:

命令 功能描述
local 设置或显示项目特定的Python版本
latest 打印与给定前缀匹配的最新已安装或已知版本
global 设置或显示全局Python版本
shell 设置或显示当前shell会话特定的Python版本
install 安装一个或多个Python版本
uninstall 卸载一个或多个Python版本
update 更新缓存的版本数据库
rehash 重新生成pyenv shims(在切换Python版本后运行此命令)
vname 显示当前Python版本
version 显示当前Python版本及其来源
version-name 显示当前Python版本
versions 列出pyenv可用的所有Python版本
exec 运行可执行文件,同时确保所选Python版本的bin目录位于PATH前面
which 显示可执行文件的完整路径
whence 列出包含给定可执行文件的所有Python版本

2. 常用命令示例

安装Python版本:

# 查看所有可用的Python版本
pyenv install --list

# 安装特定版本的Python
pyenv install 3.9.7

# 安装多个Python版本
pyenv install 3.8.12 3.9.7 3.10.0

设置Python版本:

# 设置全局Python版本
pyenv global 3.9.7

# 设置项目局部Python版本(会在当前目录创建.python-version文件)
pyenv local 3.8.12

# 设置当前shell会话的Python版本
pyenv shell 3.10.0

查看Python版本:

# 查看当前使用的Python版本
pyenv version

# 查看所有可用的Python版本
pyenv versions

# 查看特定命令对应的路径
pyenv which python
pyenv which pip

卸载Python版本:

# 卸载指定的Python版本
pyenv uninstall 3.8.12

其他实用命令:

# 更新pyenv已知的Python版本列表
pyenv update

# 在切换Python版本后,重新生成shims
pyenv rehash

# 查找包含特定可执行文件的Python版本
pyenv whence pip

3. 使用技巧

使用exec命令

pyenv exec用于执行特定Python版本环境下的命令,确保使用正确的Python环境:

# 使用pyenv管理的Python版本执行脚本
pyenv exec python my_script.py

# 使用pyenv管理的pip安装包
pyenv exec pip install requests

结合.python-version文件

在项目根目录创建.python-version文件,可以自动切换到指定的Python版本:

# 手动创建文件并指定版本
echo "3.9.7" > .python-version

# 或者使用pyenv local命令自动创建
pyenv local 3.9.7

4. 注意事项

  • shims机制 :pyenv通过在PATH前添加shims目录来实现版本切换,因此在安装新的Python版本或修改环境后,需要运行pyenv rehash
  • 环境变量 :如果遇到版本切换不生效的问题,检查PATH环境变量是否正确配置,确保~/.pyenv/bin~/.pyenv/shimsPATH中。
  • 更新pyenv :定期运行git -C ~/.pyenv pull更新pyenv本身。

掌握这些命令后,就可以轻松在不同Python版本之间切换,为不同项目配置独立的Python环境。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/13622.html

(0)
LomuLomu
上一篇 2025 年 9 月 18 日
下一篇 2025 年 9 月 18 日

相关推荐

  • 一文搞定最新版最新idea激活码申领与破解教程

    免责声明:以下补丁与激活码均源自网络公开资源,仅供个人学习研究,禁止商业用途。若条件允许,请支持正版 JetBrains! 先放张成果图镇楼——IDEA 2025.2.1 已顺利激活到 2099 年,爽歪歪! 下面用图文一步步带你搞定最新版 IDEA 的“永久”激活。嫌折腾?官方正版全家桶低至 32 元/年,直接登录就能用:https://panghu.hi…

    2025 年 10 月 20 日
    5100
  • 2025年最新IDEA激活码永久破解教程 – IDEA注册码及破解方法详解

    JetBrains全家桶破解指南(支持IDEA/PyCharm/DataGrip等) 先给大家展示最新IDEA版本成功破解的截图,可以看到已经完美激活到2099年! 下面我将通过详细的图文教程,手把手教你如何将IDEA永久激活至2099年。这个方法同样适用于旧版本,无论你使用什么操作系统或版本,都能轻松搞定! 第一步:获取IDEA安装包 如果你已经下载安装,…

    IDEA破解教程 2025 年 7 月 4 日
    24200
  • PyCharm激活码,PyCharm最新激活码,2024破解教程

    本教程适用于PyCharm、PyCharm、DataGrip、Goland等,支持Jetbrains全家桶! 废话不多说,先给大家看一下最新PyCharm版本的破解截图,可以看到已经成功破解至2099年,激活效果非常好! 接下来,我会通过图文方式,详细讲解如何激活PyCharm至2099年。 无论你使用的是Windows、Mac还是Linux系统,无论你的P…

    DataGrip破解教程 2025 年 4 月 11 日
    68400
  • 🚀 2025年最新IDEA激活码分享:永久破解IDEA终极教程(附破解补丁)

    💻 教程简介 本教程适用于JetBrains全家桶,包括IDEA、PyCharm、DataGrip、Goland等所有产品!无需复杂操作,轻松破解到2099年! 先看看最新IDEA版本破解成功的截图,有效期直达2099年,简直不要太爽!🎉 下面将详细讲解如何一步步激活你的IDEA,这个方法同样适用于旧版本哦!无论你使用什么操作系统或版本,这里都有完整解决方案…

    IDEA破解教程 2025 年 6 月 20 日
    31200
  • Redis主从复制深度解析

    概述 Redis的主从复制(Master – Slave Replication)是实现数据备份、读写分离以及水平扩展的关键机制之一。借助主从复制,一个主节点能够将数据同步至多个从节点,并且从节点还能级联创建自身的从节点,从而构建出树状结构。需要注意的是,Redis的主从复制是达成高可用的基础,但它本身并非等同于高可用。 Redis主从复制的作用 数据冗余 …

    2025 年 6 月 21 日
    20600

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信