使用 rye 管理 python 依赖

rye 是使用 rust 实现的一个项目和包管理解决方案。

配置 pip 源

vim ~/.pip/pip.conf

[global]
index-url = http://mirrors.cloud.tencent.com/pypi/simple/
trusted-host = mirrors.cloud.tencent.com

安装 rye

cargo install --git https://github.com/mitsuhiko/rye rye

配置 rye 环境变量

# ZSH
echo 'source "$HOME/.rye/env"' >> ~/.zshrc
source ~/.zshrc# BASH
echo 'source "$HOME/.rye/env"' >> ~/.bashrc
source ~/.zshrc# UNIX Shells
echo 'source "$HOME/.rye/env"' >> ~/.profile
source ~/.profile# Windows
$USERPROFILE%\.rye\shims 加入到系统的 PATH 环境变量中

升级 rye 已有版本

rye self update

安装 python 依赖

# rye pin 命令不会立即改变 Python 的版本,仅修改配置文件 .python-version,在 rye sync 执行时才进行实际的修改。
rye pin 3.10
# 可以使用 rye toolchain 来查看、拉取和删除 Python 版本。
# 用来显示所有已经安装的 Python 版本:
rye toolchain list
# 列出所有可下载的 Python 版本
# 注意已经下载的 Python 版本不在这个输出中
rye toolchain list --include-downloadable
# 第一次执行,会下载一个单独的 Python 解释器,放置到 $HOME/.rye/py 目录下,链接到项目的 .venv 目录下,因此同一个 Python 版本在磁盘上只有一份.
# 然后安装依赖,刷新 .lock 结尾的文件
# requirements.lock 和 requirements-dev.lock
rye sync --verbose

安装 pre-commit

rye install pre-commit
pre-commit install --allow-missing-config
pre-commit install --hook-type commit-msg --allow-missing-config

配置 .pre-commit-config.yaml

default_stages: [commit]
repos:- repo: https://github.com/asottile/pyupgraderev: v3.16.0hooks:- id: pyupgrade- repo: https://github.com/pre-commit/pre-commit-hooksrev: v4.6.0hooks:- id: check-merge-conflict- repo: https://github.com/psf/blackrev: 24.4.2hooks:- id: blacklanguage_version: python3.10args: [ --config=pyproject.toml ]- repo: https://github.com/pycqa/isortrev: 5.13.2hooks:- id: isortname: isortadditional_dependencies: [ "toml" ]args: [ --settings-path=pyproject.toml ]- repo: https://github.com/pycqa/flake8rev: 7.1.0hooks:- id: flake8additional_dependencies: [flake8-docstrings]

配置 .flake8

[flake8]
ignore =W503,E203,D100,D101,D102,D103,D205,D400,exclude =.tox,.git,__pycache__,build,dist,*.pyc,*.egg-info,.cache,.eggs,max-line-length=120
max-complexity=25
format=pylint
show_source=False
statistics=True
count=True

安装 black

rye install black

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

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

相关文章

laravel Dcat Admin 入门应用(五)文件上传之OSS自定义上传

laravel Dcat Admin 入门应用(五)文件上传之OSS自定义上传 Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码,内置丰富的后台…

使用ps给gif动图抠图

目录 导入gif图片 打开时间轴 选择图片 魔棒抠图-初步抠图 套索抠图-精准抠图 导入gif图片 打开时间轴 因为gif动图实际上多张图片实现的效果,所以如果要给gif抠图,就得挨个给每个时间线的图片抠图 点击窗口->时间轴 选择图片 在时间轴上选择要…

以 Vue 3 项目为例,多个请求下如何全局封装 Loading 的展示与关闭?其中大有学问!

大家好,我是CodeQi! 项目开发中,Loading 的展示与关闭是非常关键的用户体验设计。 当我们的应用需要发起多个异步请求时,如何有效地管理全局 Loading 状态,保证用户在等待数据加载时能有明确的反馈,这是一个值得深入探讨的问题。 本文将以 Vue 3 项目为例,详细讲解如…

eventloop 事件循环机制 (猜答案)

// eventloop 事件循环机制// console.log(555);setTimeout(() > {console.log(666);})let p new Promise((resolve,reject)>{// 同步执行console.log(111);resolve();});// promise 的回调函数是异步的微任务p.then(v > {console.log(222);}, r > {console.log(r…

STMF4学习笔记(天空星)

前言:本篇笔记参考嘉立创文档,连接放在最后 #RTC相关概念定义 Real-Time Clock 缩写 RTC 翻译 实时时钟,是单片机片内外设的一种,作用于提供准确的时间还有日期,这个外设有独立的电源,当单片机停止供电…

Java同步包装器

通过 Collections.synchronizedList() 方法将一个普通的 ArrayList 包装成了线程安全的 List&#xff1a; import java.util.*;public class SynchronizedWrapperExample {public static void main(String[] args) {// 创建一个非线程安全的 ArrayListList<String> list…

AzureDataFactory Dataverse connector自动处理了分页问题(单次查询上限5000条的限制)

众所周知&#xff0c;在用fetch执行D365的查询时&#xff0c;单次的查询是5000条&#xff0c;如果超过5000条则需要自己处理分页&#xff0c;添加额外的处理逻辑&#xff0c;但在ADF中&#xff0c;Dataverse connector已经自动处理了分页&#xff0c;我们可以很简单的做个POC. …

计算机网络——数据链路层(点对点协议PPP)

点对点协议PPP的概述 对于点对点的链路&#xff0c;目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 它主要应用于两个场景&#xff1a; 用户计算机与ISP之间的链路层协议就是点对点协议 PPP&#xff0c;1999年公布了回以在以太网上运行的PPP协…

【教程】lighttpd配置端口反向代理

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 1、修改配置文件&#xff1a; sudo vim /etc/lighttpd/lighttpd.conf2、先添加mod_proxy&#xff1a; 3、然后添加端口映射&#xff1a; 4、保存&…

耗材分类功能解析:智慧校园的必备利器

在智慧校园的资产管理架构中&#xff0c;耗材分类功能是确保日常运营物资有效管理的关键组成部分&#xff0c;它致力于提高耗材使用的效率和经济性。此功能通过智能化、精细化的管理手段&#xff0c;对校园内各种易耗品进行科学分类与跟踪。 耗材分类功能首先建立在对校园日常运…

C++ 实现QT信号槽

https://github.com/libsigcplusplus/libsigcplusplus #include <iostream>/* 在sigslot.h的420,将&#xff1a; //typedef sender_set::const_iterator const_iterator; 改为&#xff1a; //typedef typename sender_set::const_iterator const_iterator;#include <…

Softing助力工业4.0 | 通过OPC UA和MQTT访问SINUMERIK 840D CNC控制器数据

Softing uaGate 840D是用于采集西门子SINUMERIK 840D SL/PL CNC控制器数据的物联网网关&#xff0c;支持OPC UA服务器和MQTT发布功能。该网关提供对SINUMERIK 840D CNC控制器机床数据的访问&#xff0c;支持读取、处理重要的主轴和从轴数据&#xff0c;例如扭矩和功耗&#xff…

C++——stack和queue类用法指南

一、stack的介绍和使用 1.1 stack的介绍 1、stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行插入与提取操作 2、stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&am…

Halcon OCR字符识别(极坐标转换,字符识别)

Halcon OCR字符识别&#xff08;极坐标转换&#xff0c;字符识别&#xff09; 代码 * 1.加载图片 *************************************************** dev_close_window () read_image (Image, ./img) get_image_size (Image, Width, Height) dev_get_window (WindowHandle…

Vue移动端地图App:van-uploader导致的卡顿问题

问题描述 基于Vue3+Vant IU 4开发的移动端地图App,在进行地图点位上报、上报记录查看过程中,出现App卡顿、甚至闪退的问题,进行问题定位之后,发现是van-uploader组件导致的问题。 van-uploader文件上传组件 van-uploader组件用于将本地的图片或文件上传至服务器,并在上传…

智慧课堂基于YOLOv8的学生上课行为检测

数据集 学生上课行为检测&#xff0c;我们直接使用公开数据集 共三类行为&#xff1a;举手、读书、写字 数据集已经按照YOLO格式配置好&#xff0c;数据内容如下 模型训练 ​ 采用YOLOv8模型进行训练&#xff0c;官方代码 首先是划分数据集&#xff0c;分为训练集、验证&a…

QT创建地理信息shp文件编辑器shp_editor

空闲之余创建一个简单的矢量shp文件编辑器&#xff0c;加深对shp文件的理解。 一、启动程序 二、打开shp文件 三、显示shp文件的几何图形 四、双击右边表格中的feature&#xff0c;主窗体显示选中feature的各个节点。 五、鼠标在主窗体中选中feature的节点&#xff0c;按鼠标左…

程序员AI提效案例:统计B站课程耗时情况

文章目录 一&#xff0c;时长统计需求二&#xff0c;一波三折三&#xff0c;终极方案 AIJava总结 今天为了写一篇博客&#xff0c;这篇博客介绍了B站的一个Java项目&#xff0c;这个项目分为三个阶段&#xff1a; 初级篇高级篇运维篇 一&#xff0c;时长统计需求 我想根据每个…

从零开始学量化~Ptrade使用教程(二)——主界面及基本功能

主界面 主界面如下图所示&#xff0c;包含标题栏、行情模块、交易模块以及查询模块底部的状态栏。其中交易模块和行情模块之间可拖动&#xff0c;以此来调整交易模块和行情模块大小。 多账号管理 多账号管理功能&#xff0c;实现证券、信用、期权多账号管理&#xff0c;用于支…

第1章 大数据技术的基石

目录 第1章 大数据技术的基石 1.1什么是大数据 1.2 大数据技术的生态系统概览 1.3大数据对社会经济的深远影响 第1章 大数据技术的基石 在信息爆炸的时代背景下&#xff0c;大数据已成为推动社会进步与经济发展的核心驱动力之一。随着互联网、物联网、社交媒体的迅猛发展&a…