[pyenv] 1. 安装与使用

在看了几个开源的python环境管理器的评论后, 我打算入手 pyenv, 该项目有以下几个优势:

  1. 该项目使用纯shell脚本语言实现, 天然亲和linux开发环境.
  2. 通过设置的PATH环境变量和shims方法隔离的实现方案非常轻量化.
  3. 子命令引入了compgen补全功能, 对命令输入操作友好.
  4. 源码开源, 可扩展性好, 可以做再开发.

对于使用 pyenv 完成 日常工作的小伙伴, 这章看完就可以完美的解决python虚拟环境日常操作.
在这里插入图片描述

  1. pyenv 安装(linux)
    pyenv 使用shell语言实现, 不依赖其他额外环境, 对linux比较亲和.

  2. pyenv 管理 python 版本的查看,安装与卸载

    • 查看pyenv 支持版本
    pyenv install --list
    
    • 查看python已安装版本
    pyenv versions
    
    • 安装指定python版本
    pyenv install 3.11.9
    
    • 删除python的版本
    pyenv uninstall 3.11.9
    # 删除 python 版本, 系统会提示 是否删除依赖该版本的虚拟环境, 
    # 如果虚拟环境不能删除, 则取消该次版本删除操作.
    
  3. pyenv 管理 python 虚拟环境的查看,安装与卸载

    • 查看python已建立的虚拟环境
    pyenv virtualenvs
    
    • 建立指定python的虚拟环境
    pyenv virtualenv 3.11.9 flask  
    # 3.11.9  是已有的 python版本
    # flask  是环境名称pyenv virtualenv flask flask2
    # 注意, 这种创建flask2 的方式并不能继承 flask 中的已有安装包
    # 只继承了 flask 基于  3.11.9 这个属性.
    
    • 卸载python的虚拟环境
    pyenv uninstall 虚拟环境名称
    
  4. pyenv 使用 python 虚拟环境

    • 手动打开与关闭 python 虚拟环境
    pyenv activate flask
    pyenv deactivate 
    
    • 指定全局默认 python 虚拟环境
    pyenv global flask torch
    # 指定多个时, 优先使用前一个, 至于后一个什么时候会触发, 我还没理解, 希望懂的大哥给小弟说说.# 恢复默认, 使用system
    pyenv global system
    • 目录指定和取消 python 虚拟环境, 指定后下次进入该目录, 自动使用该环境
    # 可以使用版本和虚拟环境
    pyenv shell 3.11.9
    pyenv shell flask  pyenv shell --unset # 取消
    

pyenv 是一个优秀的虚拟环境操作框架, 原生shell实现, 对其他项目依赖少, 很适合做服务器的环境管理工具.

参考:

  • 赞!优雅的Python多环境管理神器!易上手易操作!
  • [github] pyenv
  • shell】命令行自动补全(compgen、complete、compopt)

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

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

相关文章

《pytorch深度学习实战》学习笔记第2章

第2章 预训练网络 讨论3种常用的预训练模型: 1、根据内容对图像进行标记(识别) 2、从真实图像中生成新图像(GAN) 3、使用正确的英语句子来描述图像内容(自然语言) 2.1 获取一个预训练好的网络…

通过 Cookie、Redis共享Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(三)

本篇内容对应 “2.4 生成验证码” 小节 和 “4.7 优化登陆模块”小节 视频链接 1 Kaptcha介绍 Kaotcga是一个生成验证码的工具。 你的网站验证码是什么? 在我们这个牛客论坛项目,验证码分为两部分 给用户看的是图片,用户根据图片上显示的…

精进TypeScript--【类型设计】倾向选择总是代表有效状态的类型

如果你看不到代码所操作的数据或数据类型,代码就很难理解。这就是类型系统的一大优势:通过写出类型,让你的代码的读者可以看到它们,而且这也将使得你的代码变得易懂。 要记住的事情: 既代表有效状态又代表无效状态的类…

Java基础知识总结(42)

(1)Java关键字的相关知识进行了复习 考试过程中“main”是主方法名,而不是Java关键字 (2)类型转换 当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升,所有的b…

什么牌子开放式耳机好用?优选五大高分好物真诚分享

对于习惯长时间佩戴耳机的朋友来说,入耳式耳机固然能够提供较优质的音质体验。但是,由于其较为封闭的设计以及对耳洞的压迫,舒适感较差,长时间佩戴可能会对听力造成一定的影响。因此,开放式耳机的出现为音乐发烧友们提…

Leetcode 684. 冗余连接

心路历程: 这道题属于图论的经典连通问题,这道题翻译过来就是,找到破开图中环的一条边;再翻译过来就是,从后往前遍历edges,依次连接边,当发现新连接的边已经有相同父节点时(已经马上…

基于单片机风力发电机迎风面对风向的追踪系统设计

**单片机设计介绍,基于单片机风力发电机迎风面对风向的追踪系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机风力发电机迎风面对风向的追踪系统设计是一个涉及单片机编程、传感器技术、机械控制等多个领域的综…

java日志框架简介

文章目录 概要常用日志框架常见框架有以下:slf4j StaticLoggerBinder绑定过程(slf4j-api-1.7.32 )JCL 运行时动态查找过程:(commons-logging-1.2)使用桥接修改具体日志实现 一行日志的打印过程开源框架日志…

面试算法-153-旋转图像

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,…

Java项目:基于Springboot+vue实现的医院住院管理系统设计与实现(源码+数据库+开题报告+任务书+毕业论文)

一、项目简介 本项目是一套基于Springbootvue实现的医院住院管理系统设 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简…

JS之函数

JS中的函数 JavaScript 中的函数是被设计为执行特定任务的代码块,可以通过 function 关键字进行定义。函数的语法如下: function functionName(parameter1, parameter2, ...) {// 要执行的代码块return returnValue; // 可选,用于返回值 } …

基于Springboot+Vue实现前后端分离社团管理系统

一、🚀选题背景介绍 📚推荐理由: 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于社团管理也是十分常见的。过去使用手工的管理方式对大学生社团进行管理,造成了管理繁琐、难以维护等…

基于java+SpringBoot+Vue的房屋租赁系统设计与实现

基于javaSpringBootVue的房屋租赁系统设计与实现 开发语言: Java 数据库: MySQL技术: Spring Boot JSP工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 房源浏览模块:展示可租赁的房源信息,用户可以根据条件筛选房源。 预约看房模块&#…

java项目基于Springboot和Vue的高校心理教育辅导系统的设计与实现

今天要和大家聊的是基于Springboot和Vue的高校心理教育辅导系统的设计与实现 !!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!! 💕💕作者:李同学 💕&…

springboot实战---5.最简单最高效的后台管理系统开发

🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:SpringBoot 🤝希望本文对您有所裨益,如有不足之处&…

安达发|APS软件在皮具箱包生产工艺中的应用

APS软件,即高级生产计划排程系统(Advanced Planning and Scheduling),在皮具箱包生产工艺中的应用至关重要。它通过高效的生产计划和资源优化,帮助企业降低成本、提高生产效率和市场响应速度。以下是APS软件在皮具箱包…

day03-Docker

1.初识 Docker 1.1.什么是 Docker 1.1.1.应用部署的环境问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 例如一个项目中,部署时需要依…

MybatisPlus分页插件的使用和原理

使用 分页是后端开发的一个基础问题 基本上所有新手都会遇到,从前比较原始的分页 可能需要我们自己写分页 比如拿到分页参数 页数和num,然后自己把它拼接到sql里面去。 MybatisPlus提供了一个分页插件可以很方便的使用 对业务人员比较友好 先给一个简…

代码随想录学习Day 24

93.复原IP地址 题目链接 讲解链接 本题属于切割问题,切割问题需要使用回溯算法来将所有的结果搜索出来,与前一题分割回文串是类似的。本题的树形结构如下图所示: 回溯三部曲: 1.递归函数参数及返回值:参数为待分割…

在 MySQL 某数据表中针对 username 字段建立唯一索引后,基于万级数据量和百万级数据量分别进行查询某用户 A,请问两次查询的性能耗时对比如何?

在 MySQL 数据库中,对 username 字段加了唯一索引后,无论数据量从 1 万增长到 100 万,只要查询条件始终是通过 username 精确查找用户 A,理论上两次查询的耗时应该保持在一个相对稳定的范围内,即查询性能大致保持一致。…