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环境的安装已经结束,大家快尝试一下吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core SignalR推送服务器日志

产线机器人项目,上位机以读写寄存器的方式控制机器人,服务器就是用 ASP.NET Core 写的 Web API。由于前一位开发者写的代码质量问题,导致上位机需要16秒才能启动。经过改造,除了保留业务逻辑代码,其他的基本重写。如今上位机的启动时间在网络状态良好的条件下可以秒启动。…

Avalonia 跨ViewModel访问数据或方法

在Avalonia应用程序中&#xff0c;跨ViewModel访问数据或方法通常是为了实现不同视图间的数据共享和通信。在MVVM设计模式下&#xff0c;这可以通过多种方式进行&#xff1a; 依赖注入&#xff08;DI&#xff09;&#xff1a; 通过IoC容器&#xff08;如Autofac、DryIoc等&…

工作八年经验总结

今年没怎么写博客了&#xff0c;2023年一共才发了5篇&#xff0c;在CSDN的排名也是名落孙山&#xff08;从最辉煌时的几百名落到了180w&#xff09;&#xff0c;在纠结要不要断更&#xff0c;算了&#xff0c;今年我还是在矫情下吧。。。。 【工作篇】 1、2023挑战与机遇并存…

cargo设置国内源 windows+linux

cargo默认的源比pip的源好多了&#xff0c;但是有时候速度还是很慢 一、部分国内源&#xff08;排名不分先后&#xff09; 这些源的格式用在具体的配置文件中 中国科学技术大学 [source.crates-io] replace-with ustc[source.ustc] registry "git://mirrors.ustc.ed…

Redis Cluster集群模式学习

Redis Cluster集群模式 Redis哨兵模式&#xff1a;https://blog.csdn.net/liwenyang1992/article/details/133956200 Redis Cluster集群模式示意图&#xff1a; Cluster模式是Redis3.0开始推出采用无中心结构&#xff0c;每个节点保存数据和整个集群状态&#xff0c;每个节点都…

[C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计

源码地址&#xff1a; github地址&#xff1a;https://github.com/Ahmednull/L2CS-Net L2CS-Net介绍&#xff1a; 眼睛注视&#xff08;eye gaze&#xff09; 是在各种应用中使用的基本线索之一。 它表示用户在人机交互和开放对话系统中的参与程度。此外&#xff0c;它还被用…

C/C++面向对象(OOP)编程-回调函数详解(回调函数、C/C++异步回调、函数指针)

本文主要介绍回调函数的使用&#xff0c;包括函数指针、异步回调编程、主要通过详细的例子来指导在异步编程和事件编程中如何使用回调函数来实现。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;C/C精进之路 &…

再见2023,你好2024!

大家好&#xff0c;我是老三&#xff0c;本来今天晚上打算出去转一转&#xff0c;陆家嘴打车实在太艰难了&#xff0c;一公里多的路&#xff0c;司机走了四十分钟&#xff0c;还没到&#xff0c;再加上身体不适&#xff0c;咳嗽地比较厉害&#xff0c;所以还是宅在酒店里&#…

不同开源协议之间的差异分析

在IT行业中&#xff0c;开源协议是用来定义如何使用、修改、分享和分发软件的法律条款。不同的开源协议在保留版权、允许的使用方式、对衍生作品的要求以及对分发的限制等方面有所不同。以下是一些常用的开源协议及其主要特点&#xff1a; 1. MIT License (MIT) 特点&#xf…

用通俗易懂的方式讲解大模型:使用 Docker 部署大模型的训练环境

之前给大家介绍了主机安装方式——如何在 Ubuntu 操作系统下安装部署 AI 环境&#xff0c;但随着容器化技术的普及&#xff0c;越来越多的程序以容器的形式进行部署&#xff0c;通过容器的方式不仅可以简化部署流程&#xff0c;还可以随时切换不同的环境。 实际上很多云服务厂…

Java ArrayList在遍历时删除元素

文章目录 1. Arrays.asList()获取到的ArrayList只能遍历&#xff0c;不能增加或删除元素2. java.util.ArrayList.SubList有实现add()、remove()方法3. 遍历集合时对元素重新赋值、对元素中的属性赋值、删除元素、新增元素3.1 普通for循环3.2 增强for循环3.3 forEach循环3.4 str…

SpringBoot之YAML文件的使用

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 SpringBoot之YAML文件的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、YAML配置…

vue的file-saver

Vue FileSaver 是一个用于在浏览器中保存文件的 Vue.js 插件。它提供了一种简单的方式来将数据以文件的形式下载到用户的计算机上。 使用 Vue FileSaver&#xff0c;你可以将数据保存为常见的文件格式&#xff0c;如文本文件&#xff08;.txt&#xff09;、CSV 文件&#xff0…

产业互联网,并不存在严格意义上的互联网

产业互联网里的「互联网」字眼&#xff0c;让人们想当然地认为&#xff0c;其与互联网之间有着很多的联系&#xff0c;甚至很多人干脆就将产业互联网当成了一个互联网的衍生品&#xff0c;最终&#xff0c;再度将产业互联网带入到了互联网的怪圈之中。 事实上&#xff0c;真正…

Java中的自定义异常处理:业务异常类的创建与使用

文章内容 引言 在Java编程中&#xff0c;异常处理是一项重要的技术&#xff0c;它允许程序在遇到错误或特殊情况时能够优雅地处理&#xff0c;而不是直接崩溃。Java提供了丰富的内置异常类&#xff0c;但在实际业务开发中&#xff0c;我们往往需要根据具体的业务需求定义自己的…

目标检测-Two Stage-Mask RCNN

文章目录 前言一、Mask RCNN的网络结构和流程二、Mask RCNN的创新点总结 前言 前文目标检测-Two Stage-Faster RCNN提到了Faster RCNN主要缺点是&#xff1a; ROI Pooling有两次量化操作&#xff0c;会引入误差影响精度 Mask RCNN针对这一缺点做了改进&#xff0c;此外Mask …

数据结构——顺序栈与链式栈的实现

目录 一、概念 1、栈的定义 2、栈顶 3、栈底 二、接口 1、可写接口 1&#xff09;数据入栈 2&#xff09;数据出栈 3&#xff09;清空栈 2、只读接口 1&#xff09;获取栈顶数据 2&#xff09;获取栈元素个数 3&#xff09;栈的判空 三、栈的基本运算 四、顺序栈&…

AtCoder Beginner Contest 297(A-E)

比赛地址: AtCoder Beginner Contest 297 - AtCoder A - Double Click 思路 : 直接模拟即可 代码 : #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std; typedef long long LL;inline vo…

springboot(ssm农产品直卖平台 农产品商城系统Java系统

springboot(ssm农产品直卖平台 农产品商城系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; 数…

Linux实战:部署基于Postfix 与 Dovecot 的邮件系统

一、电子邮件系统简介 在电子邮件系统中&#xff0c;为用户收发邮件的服务器名为邮件用户代理&#xff08;Mail User Agent&#xff0c;MUA&#xff09;&#xff0c;MTA &#xff08;邮件传输代理&#xff09;的工作职责是转发处理不同电子邮件服务供应商之间的邮件&#xff0…