当前位置: 首页 > news >正文

pyenv -- 一款macos下开源的多版本python环境安装管理工具 国内加速版安装 + 项目venv虚拟环境 pip加速 使用与总结

一个比较方便实用的python多版本环境安装管理工具, 阿里云加速版本

pyenv安装方法:

直接克隆本下面到你的本地目录,然后设置环境变量即可

git clone https://gitee.com/tekintian/pyenv.git ~/.pyenv

环境变量配置

在~/.bash_profile 或者 .zshrc 中增加环境变量

export PYENV_ROOT="$HOME/.pyenv"
# 如果目录$PYENV_ROOT/bin存在,则将目录加入到PATH环境变量
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

查看可安装的python版本

pyenv install -l

安装python版本

pyenv install 3.12.5

查看已安装的版本

pyenv versions

将系统中的已有python版本加入到pyenv中进行管理

原理就是将我们系统中已经安装的python 版本通过软连接的方式加入到 ~/.pyenv/versions文件夹下. 如将macos系统中默认的python加入pyenv来进行管理, macos默认的python版本一般安装在这个位置 /System/Library/Frameworks/Python.framework/Versions/

macos v10.15版本的默认python版本是2.7.16 版本, 我们执行一下ln命令即可将他纳入到pyenv版本管理中

# 创建一个软连接到pyenv版本目录
ln -s /System/Library/Frameworks/Python.framework/Versions/2.7 /Volumes/macosData/Tekin/.pyenv/versions/2.7.16

设置全局python版本

注意这里的版本好可以设置一个大版本号如 3.12 ,也可以完整指定版本号, 如 3.12.5

pyenv global 3.12

设置本地(当前shell的)python版本

pyenv local 3.12.5

项目中使用venv创建虚拟环境

# 创建venv环境命令: python -m venv 环境名称
python -m venv myenv# 激活虚拟环境
source myenv/bin/activate
当看到命令行提示符前面有(myenv)字样,表示已经进入了虚拟环境。这时就可以使用pip命令来安装所需的包和依赖库,以及进行其他的Python开发工作了。

pip国内加速配置

在完成了上面的步骤后,我们还需要配置一个pip包的加速,否则安装python包的时候会很慢

配置文件地址 ~/.pip/pip.conf  有就修改内容, 没有就创建这个文件

# 创建文件
touch ~/.pip/pip.conf

将下面的内容拷贝到 ~/.pip/pip.conf 中

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

其他的一些目前可用的pip加速地址

http://mirrors.aliyun.com/pypi/simple
https://pypi.tuna.tsinghua.edu.cn/simple
https://mirrors.ustc.edu.cn/pypi/simple

设为默认pip加速镜像 命令行方式

注意这个方式和上面的~/.pip/pip.conf配置文件是一样的,选择设置一个即可, 加速地址可以自己选择上面3个服务商中的一个就可以了

# 使用本镜像站来升级 pip
pip install -i https://mirrors.ustc.edu.cn/pypi/simple pip -U
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simple

关于pyenv国内加速的说明

pyenv这个工具是一个shell +c的混合项目, 所有的安装包都预先通过python-build这个插件进行了安装定义, 所有的软件包下载地址也都是在这里进行定义的, 本项目已经将所有的python的发行包的地址都修改成了国内的加速下载地址. 如果需要自定义包的下载地址,可以直接修改 ~/.pyenv/plugins/python-build/share/python-build 这个文件夹里面对应版本中的下载地址即可

总结: pyenv将所有的python版本都进行了几种的管理,他将我们的所有的python版本都安装到了 versions文件夹下, 通过 shims 文件夹对外暴露版本供我们使用. 在项目开发中建议使用python内置的venv虚拟环境来对项目的python环境进行管理

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • React学习-hooks
  • 【多线程】概述
  • 安全检查报告模板
  • 用c写一个谁考了第k名
  • Maptr
  • 2024数博会技术成果回顾 | KPaaS助力企业数智化转型
  • .net通过类组装数据转换为json并且传递给对方接口
  • 基于Spring和MybatisPlus下的Oracle转mysql语句语法适配修改
  • 使用Aqua进行WebUI测试(Pytest)——介绍篇(附汉化教程)
  • 合并区间【leetcode】
  • 随笔(1)将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案
  • 【物理教学】不准确温度计图像代码分享
  • 为什么越来越多的人选择开放式耳机?平价高品质蓝牙耳机推荐
  • Django form.save 方法的详细分析
  • 雅特力初步环境准备
  • AWS实战 - 利用IAM对S3做访问控制
  • classpath对获取配置文件的影响
  • docker python 配置
  • echarts花样作死的坑
  • ES6简单总结(搭配简单的讲解和小案例)
  • hadoop集群管理系统搭建规划说明
  • java8-模拟hadoop
  • jdbc就是这么简单
  • js 实现textarea输入字数提示
  • mongo索引构建
  • rc-form之最单纯情况
  • Theano - 导数
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • webpack入门学习手记(二)
  • 翻译--Thinking in React
  • 技术:超级实用的电脑小技巧
  • 前嗅ForeSpider采集配置界面介绍
  • 在Mac OS X上安装 Ruby运行环境
  • 选择阿里云数据库HBase版十大理由
  • ​【已解决】npm install​卡主不动的情况
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​数据结构之初始二叉树(3)
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ‌JavaScript 数据类型转换
  • #{}和${}的区别?
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • $.ajax()
  • (k8s)Kubernetes本地存储接入
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (黑马点评)二、短信登录功能实现
  • (九十四)函数和二维数组
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (转)Sublime Text3配置Lua运行环境
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .NET BackgroundWorker
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net FrameWork简介,数组,枚举