python多环境管理工具——pyenv-win安装与使用教程
目录
pyenv-win简介
pyenv-win安装
配置环境变量
pyenv的基本命令
pyenv安装py环境
pyenv安装遇到问题
pycharm测试
pyenv-win简介
什么是pyenv-win: 是一个在windows系统上管理python版本的工具。它是pyenv的windows版本,旨在提供类似于unix/linux系统上的pyenv功能。允许用户在同一台计算机上安装多个python版本,并轻松切换它们之间的环境。使用pyenv-win,可以方便地安装、管理和切换各种python版本,而无需手动更改系统环境变量。
pyenv-win应用场景:pyenv-win可以应用于各种领域,但在机器学习方面尤其有用。在机器学习领域,通常需要使用多个python库和工具来进行数据处理、模型训练和预测等任务。不同的库和工具可能对不同版本的python有不同的要求,因此使用pyenv-win可以轻松地管理这些不同版本的python,并切换到特定的环境,以满足不同的需求。
pyenv-win的特点:轻量级的python版本管理工具,相比于同样为python管理工具Anaconda,体积更为小巧,并且还提供了虚拟环境的支持,可以为不同的项目创建独立的python环境,从而避免不同项目之间的依赖冲突。这对于机器学习项目来说尤其重要,因为不同的项目可能需要不同版本的python和不同的库。
总之,pyenv-win是一个非常有用的工具,可以帮助机器学习开发者轻松管理多个python版本和虚拟环境,从而提高开发效率和项目可维护性。对于有多个python环境需求的开发者来说,pyenv-win是个不错的选择!
pyenv-win安装
打开 pyenv-win下载地址 ,点击Code,然后再点击Download ZIP进行下载压缩包:

将pyenv-win压缩包解压到不带中文的目录下,并将文件夹名称重命名为pyenv:

打开文件夹找到bin目录,并将文件夹路径进行复制:

配置环境变量
电脑搜索框输入 “高级系统设置”,打开后点击环境变量:

在系统变量中点击新建,然后将 PYENV 添加到系统变量中,并配置上面复制的目录,点击确认:

在系统变量中找到Path这个变量,双击打开,将下面这两行路径加进去,然后点击确定,点击完里面的确定再点击环境变量的确定
%PYENV%\bin
%PYENV%\shims

至此环境变量配置完成,为了验证我们是否配置成功,cmd终端执行pyenv,出现如下界面说明我们已经安装成功:

pyenv的基本命令
以下pyenv的常用命令,掌握这些基本的命令之后,就可以在项目中轻松切换python版本:
查看pyenv-win支持的python版本列表:
pyenv install --list
查看当前python对应版本:
pyenv version
查看电脑安装的所有python版本:
pyenv versions
安装指定版本 || 也可以在一个命令中安装多个版本:
pyenv install <version> || pyenv install <version> <version>
卸载指定版本:
pyenv uninstall <version>
将python版本设置为全局版本(默认使用的python版本) 注意:必须先安装该版本。
pyenv global <version>
设置本地版本(当在此文件夹中调用python时,都会使用给定的版本。) 注意:必须先安装该版本。
pyenv local <version>
查看python版本来核对:
python -V
官方网站给出的pyenv-win命令如下,大家可自行了解:
commands -------------列出所有可用的pyenv命令
duplicate -------------创建一个重复的python环境
local --------------设置或显示特定于本地应用程序的Python版本
global --------------设置或显示全局Python版本
shell --------------设置或显示特定于shell的Python版本
install --------------Python构建安装Python版本
uninstall -------------卸载特定的Python版本
update -------------更新缓存的版本数据库
rehash -------------重新安装pyenv垫片(安装可执行文件后运行此操作)
vname -------------显示当前的Python版本
version -------------显示当前Python版本及其来源
version-name ----------------显示当前的Python版本
versions -----------------列出pyenv可用的所有Python版本
exec -----------------通过首先准备路径来运行可执行文件,以便选定的Python
which -------------- 显示可执行文件的完整路径
whence ---------------------列出包含给定可执行文件的所有Python版本
pyenv安装py环境
使用pyenv安装py环境是不需要我们再去手动设置python环境变量的,pyenv会帮我们自动设置好,接下来我们开始安装python环境,如下:
1)查看pyenv支持安装的python环境

2)安装自己想要下载的python版本(可以下载多个)

3) 查看电脑安装的所有python版本:

4) 设置3.8.0版本为全局版本,并查看当前设置的全局版本:

5)查看当前的python版本:

pyenv安装遇到问题
在安装python版本的时候可能会出现如下几个问题,大家根据自己的情况进行设置即可:
1)安装python版本卡在界面不动(或请求超时)。
这种情况一般是由于网络问题,因为安装的python是在国外的站点,有三种方式解决:
第一种方式:cmd走代理,需要科学上网,没有这个条件的朋友直接pass看下面方式
第二种方式:手动安装,打开历史版本 地址 找到自己要下载的版本号,以 3.8.0-amd64.exe 为例,将其下载完直接拖进 pyenv 的 install_cache 文件夹中,再执行上面的安装命令,即可安装对应的版本

第三种方式(博主推荐): 找到 pyenv-win 文件夹下的 .versions_cache.xml文件进行如下操作,更换镜像源的方式可以让我们下载变的更方便:
https://www.python.org/ftp/python 全部替换为 https://npm.taobao.org/mirrors/python

2)win11系统安装安装python版本之后执行python -V没有任何反应(win10可能除外)
这种情况一般是由于win11系统管理应用程序执行别名导致的问题,我们需要点击 win 键输入 “管理应用程序执行别名”,然后将下面的两个关掉即可:

pycharm测试
pycharm是书写py的编辑器工具,安装教程网上一大堆,都是傻瓜式教程,这里不再赘述,接下来我们通过我们刚才安装好的python环境,看看能不能在pycharm中进行跑通!
首先我们要先知道自己通过pyenv安装的python环境的路径在哪,终端执行如下命令:
pyenv which python
该命令会输出当前激活的 Python 环境的路径。如下:

其中 3.8.0 是当前激活的 Python 版本号。如果希望获取其他已安装的 Python 版本的路径,可以将命令中的 python 替换为相应的版本号,该命令会输出版本号为 3.8.7 的 Python 环境的路径。如下
pyenv which 3.8.7
找到我们安装好的python路径之后,接下来我们开始为pycharm配置python解释器:

根据之前的路径添加系统解释器,配置好python环境,然后点击应用,确定即可:

接下来我们开始编写 hello world 看看代码能跑起来吗?

至此python环境的安装已经结束,大家快尝试一下吧!
相关文章:
python多环境管理工具——pyenv-win安装与使用教程
目录 pyenv-win简介 pyenv-win安装 配置环境变量 pyenv的基本命令 pyenv安装py环境 pyenv安装遇到问题 pycharm测试 pyenv-win简介 什么是pyenv-win: 是一个在windows系统上管理python版本的工具。它是pyenv的windows版本,旨在提供类似于unix/li…...
Excel报表框架(ExcelReport)极简化解决复杂报表导出问题
Excel Report 耗费了半个月的时间,终于在元旦这三天把报表框架开发完成了,使用该框架你可以非常方便的导出复杂的Excel报表。 项目开源地址: GiteeGithub 前言 不知道各位在使用POI开发报表导出过程中遇到过以下的情况: 频繁…...
常用设计模式全面总结版(JavaKotlin)
这篇文章主要是针对之前博客的下列文章的总结版本: 《设计模式系列学习笔记》《Kotlin核心编程》笔记:设计模式【Android知识笔记】FrameWork中的设计模式主要为了在学习了 Kotlin 之后,将 Java 的设计模式实现与 Kotin 的实现放在一起做一个对比。 一、创建型模式 单例模…...
Docker自建私人云盘系统
Docker自建私人云盘系统。 有个人云盘需求的人,主要需求有这几类: 文件同步、分享需要。 照片、视频同步需要,尤其是全家人都是用的同步。 影视观看需要(分为家庭内部、家庭外部) 搭建个人网站/博客 云端OFFICE需…...
python replace()方法 指定替换指定字段
replace()方法 使用方法 str.replace(old, new[, max]) Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。 示例 #!/usr/bin/pythonstr "this is s…...
【仅供测试】
https://microsoftedge.microsoft.com/addons/detail/%E7%AF%A1%E6%94%B9%E7%8C%B4/iikmkjmpaadaobahmlepeloendndfphd 测试网站: https://www.alipan.com/s/tJ5uzFvp2aF // UserScript // name 阿里云盘助手 // namespace http://tampermonkey.net/ // …...
C#/WPF JSON序列化和反序列化
什么是json json是存储和交换文本信息的方法,类似xml。但是json比xml更小,更快,更易于解析。并且json采用完全独立于语言的文本格式(即不依赖于各种编程语言),这些特性使json成为理想的数据交换语言。json序列化是指将对象转换成j…...
Java——ArraryList线程不安全
目录 前言一、为什么ArraryList线程不安全?二、具体可以看debug源码后续敬请期待 前言 Java——ArraryList线程不安全 一、为什么ArraryList线程不安全? 因为没有synchronized,这个关键字做线程互斥,没有这个关键字,…...
基于Java SSM框架实现健康管理系统项目【项目源码】
基于java的SSM框架实现健康管理系统演示 JSP技术 JSP是一种跨平台的网页技术,最终实现网页的动态效果,与ASP技术类似,都是在HTML中混合一些程序的相关代码,运用语言引擎来执行代码,JSP能够实现与管理员的交互…...
PostgreSQL16.1(Windows版本)
1、卸载原有的PostgreSQL   点击Next即可。  点击OK即可。 卸载完成。 2、安装 (1) 前两部直接Next,第二部可以换成自己想要安装的路径。 (2) 直接点击Next。…...
使用nodejs对接arXiv文献API
GPT4.0国内站点: 海鲸AI-支持GPT(3.5/4.0),文件分析,AI绘图 要使用 Node.js 对接 arXiv 的 API,你可以使用 axios 库或者 Node.js 的内置 http 模块来发送 HTTP 请求。以下是一个简单的例子,展示了如何使用 axios 来获取 arXiv 上…...
mac 安装pyaudio
直接安装pyaudio时报错 ERROR: Could not build wheels for PyAudio, which is required to install pyproject.toml-based projects需要先安装portaudio,打开终端执行: brew install portaudio再安装pyaudio成功 pip3 install pyaudioportaudio是一个…...
k8s学习 — 各章节重要知识点
k8s学习 — 各章节重要知识点 学习资料k8s版本0 相关命令0.1 yaml配置文件中粘贴内容格式混乱的解决办法0.2 通用命令0.3 Node 相关命令0.4 Pod 相关命令0.5 Deployment 相关命令0.6 Service 相关命令0.7 Namespace 相关命令 1 k8s学习 — 第一章 核心概念1.1 Pod、Node、Servi…...
go slice源码探索(切片、copy、扩容)和go编译源码分析
文章目录 概要一、数据结构二、初始化2.1、字面量2.2、下标截取2.2.1、截取原理 2.3、make关键字2.3.1、编译时 三、复制3.1、copy源码 四、扩容4.1、append源码 五:切片的GC六:切片使用注意事项七:参考 概要 Go语言的切片(slice…...
电影“AI化”已成定局,华为、小米转战入局又将带来什么?
从华为、Pika、小米等联合打造电影工业化实验室、到Pika爆火,再到国内首部AI全流程制作《愚公移山》开机……业内频繁的新动态似乎都在预示着2023年国内电影开始加速进入新的制片阶段,国内AI电影热潮即将来袭。 此时以华为为首的底层技术科技企业加入赛…...
小程序for循环中key值的作用?
在小程序的 for 循环中,key 值有两个主要作用: 识别列表项的唯一性:当在列表渲染时使用 for 循环,每个列表项都应该具有一个唯一的 key 值。这个 key 值用于帮助小程序识别每个列表项的唯一性,以便在列表发生变化时进行…...
深入理解Dockerfile —— 筑梦之路
FROM 基础镜像 可以选择现有的镜像,比如centos、debian、apline等,特殊镜像scratch,它是一个空镜像。 如果你以 scratch 为基础镜像的话,意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一层开始存在。 不…...
Vue3 魔法:轻松删除响应式对象的属性
🧙♂️ 诸位好,吾乃诸葛妙计,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 吾之笔记,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。 &…...
python命令大全及说明,python命令大全下载
大家好,本文将围绕python命令大全及说明展开说明,python命令大全下载是一个很多人都想弄明白的事情,想搞清楚python简单命令语句需要先了解以下几个事情。 Python有哪些常用但容易忘记的命令? 1 如何忽略报错信息2 Python常见绘图…...
Flink1.17实战教程(第五篇:状态管理)
系列文章目录 Flink1.17实战教程(第一篇:概念、部署、架构) Flink1.17实战教程(第二篇:DataStream API) Flink1.17实战教程(第三篇:时间和窗口) Flink1.17实战教程&…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
