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

embedded/2024/12/22 12:40:01/

一个比较方便实用的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环境进行管理


http://www.ppmy.cn/embedded/107975.html

相关文章

全面掌握PythonJava分层自动化测试:从单元测试到安全检测的完整指南

分层自动化(Layered Automation)是一种软件测试策略,通过将自动化测试分为不同层次或阶段,针对不同类型的测试需求,确保测试覆盖的全面性以及提高测试效率。这种方法通过分解复杂的测试任务,将其分配到适当的层级,从而降低测试的维护成本并提高自动化测试的稳定性和复用…

MyBatis-Plus 框架 QueryWrapper UpdateWrapper 方法修复sql注入漏洞事件

什么是漏洞? 漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。 对于对象关系映射(ORM)框架来说&#xff0…

金山在线文档编辑器

官方文档地址:快速开始-WebOffice 知识库 首先按照文档写的方式将包引入项目了 util.js import WebOfficeSDK from "../../public/JSEditor/open-jssdk-v0.0.13.umd" export function WordSDK(url, isEdit, mountDom, isShowTopArea, isShowHeader) {c…

已解决:Visual studio2022突然只能打字不能使用回车键、退格键

本问题已得到解决,请看以下小结: 关于《VS2022部分按键失灵》的解决方案 记录备注报错时间2024年报错版本VS2022报错复现写代码,点击删除键失灵了报错描述点击关闭提示如下: Microsoft visual studio 已检测到某个操作正在阻止用户…

Ext JS主要特点有哪些?

Ext JS是一个开源的JavaScript应用程序框架,它主要用于构建富客户端的Web应用程序。具有如下特点: 丰富的UI组件:Ext JS提供了大量的UI组件,如窗体、表单、表格、树形控件等,这些组件具有高度的可定制性和可扩展性&…

黑马-Cloud21版-面试篇13:Sentinel源码分析

Sentinel源码分析 1.Sentinel的基本概念 Sentinel实现限流、隔离、降级、熔断等功能,本质要做的就是两件事情: 统计数据:统计某个资源的访问数据(QPS、RT等信息)规则判断:判断限流规则、隔离规则、降级规…

设计模式及创建型模式-python版

1 架构模式与设计模式 架构模式搞层次的设计模式, 描述系统整体结构和组织方式,设计模式是针对某个问题的解决方案,是一种解决问题的思路。 2 设计模式的分类 2.1 创建型模式 单例模式,工厂方法模式,抽象工厂模式&…

带AI功能朵米客服系统3.5无限制开心版+搭建文档

带AI功能朵米客服系统3.5无限制开心版搭建文档,朵米客服系统是一款全功能的客户服务解决方案,提供多渠道支持(如在线聊天、邮件、电话等),帮助企业建立与客户的实时互动。该系统具有智能分流功能,可以快速将…