一、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文件夹中
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
如:
在path中添加如下内容
%pyenv_root%\pyenv-win\bin
和
%pyenv_root%\pyenv-win\shims
保存并退出
4、验证是否安装成功
打开cmd,执行
pyenv --version
如上已安装成功
输入以下命令,可查看当前激活的python使用版本
pyenv version
5、安装其它python版本
安装python版本:
pyenv install 3.12
要切换到 “3.12” python 环境,设置全局python版本:
pyenv global 3.12
查看当前版本
pyenv version
查看可用的python版本:
pyenv versions
通过以上步骤,你就可以在windows上使用pyenv来管理多个python版本了。
6、python与pyenv版本切换
如果电脑上之前已经装过了python,不是通过pyenv控制的,pip默认使用环境变量中考前的版本,自行调整优先级即可
如果不想调整优先级,默认是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
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
如上已安装成功
5、安装其它python版本
查看可以安装的版本
pyenv install --list
安装python版本:
pyenv install 3.11
设置全局python版本:
pyenv global 3.11
查看当前版本
pyenv version
查看可用的python版本:
pyenv versions
输入
python
通过以上步骤,你就可以在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/shims
在path
中。 - 更新 pyenv:定期运行
git -c ~/.pyenv pull
更新 pyenv 本身。
掌握这些命令后,你可以轻松在不同 python 版本之间切换,为不同项目配置独立的 python 环境。
到此这篇关于python中pyenv安装及使用的实现步骤的文章就介绍到这了,更多相关pyenv安装及使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论