上传自己的项目到PyPI

准备工作

  • 已注册pypi账号
  • pypi账号已经配置了双重验证
  • pypi账号的token令牌(最后上传到pypi需要这个)
  • pip install twine(上传需要用到的工具)

操作步骤

  • 1、准备好工程
  • 2、编写setup.py
  • 3、开始上传

大功告成

  • 在pypi查看自己包的主页

准备好工程

我这里的工程名叫uoload-sqlman, 这个名称不重要,可以随便取名
下图的 sqlman就是你要上传到pypi的包
README.md就是你包的一些说明, 没有这个文件也可以

在这里插入图片描述


编写setup.py

from setuptools import setup, find_packages

with open("README.md", "r", encoding="utf-8") as f:
    long_description = f.read()

setup(
    name='sqlman',  # 这个名字跟你的包名保持一致
    version='0.1',  # 版本号
    description='告别SQL语句,python操作mysql的贴心助手',  # 包的简单描述
    url='https://github.com/markadc/sqlman',  # 项目地址
    author='WangTuo',  # 作者
    author_email='markadc@126.com',  # 邮件
    packages=find_packages(),
    license='MIT',
    zip_safe=False,
    install_requires=['DBUtils', 'PyMySQL', 'Faker', 'loguru'],  # 安装包的时候先安装这些依赖包,可以不写!
    keywords=['Python', 'MySQL', 'Database'],  # 包的关键词,可以不写!
    long_description=long_description,  # 在pypi站点上展示的readme,可以不写!
    long_description_content_type='text/markdown'  # 指定格式为markdown,可以不写!
)

在工程目录下依次执行如下命令

  • python setup.py sdist
  • twine upload dist/*

最后你会出现这个界面
在这里插入图片描述
这时候输入你pipy账号的token令牌就完事了



在pypi查看自己包的主页

红色框就是 readme.md的展示,你如果没有传入那就是空白

在这里插入图片描述


后言

如果你想在上传完成之后立刻pip安装你的包,注意使用官方源

pip install sqlman -i https://pypi.org/project

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux—— 任务规划、SELinux、ACL、磁盘介绍

任务规划: 未来任务的一次性调度 atatqatrm服务: atd周期性任务的调度 crontab 所有用户的任务列表都以文件的形式存在于系统 /var/spool/cron/用户名-l -e-u-r时间 需要执行的任务服务: crond系统维护任务: yum软件仓库缓存的…

MySQL数据库基础(数据库操作,常用数据类型,表的操作)

MySQL数据库基础(数据库操作,常用数据类型,表的操作) 前言 数据库的操作1.显示当前数据库2.创建数据库3.使用数据库4.删除数据库 常用数据类型1.数值类型2.字符串类型3.日期类型 表的操作1.查看表结构2.创建表3.删除表 总结 前言 …

5. 分布式链路追踪TracingFilter改造增强设计

前言 在4. 分布式链路追踪客户端工具包Starter设计一文中,我们实现了基础的Starter包,里面提供了我们自己定义的Servlet过滤器和RestTemplate拦截器,其中Servlet过滤器叫做HoneyTracingFilter,仅提供了提取SpanContext&#xff0…

等保测评技术方案

等保,即“网络安全等级保护”,是中国实施的一项信息安全保护制度,旨在对不同重要性的信息和信息系统实行分等级保护,保障国家安全、社会秩序以及公共利益。等保技术方案是指为了达到国家网络安全等级保护标准要求,针对…

Linux的并发与竞争

文章目录 一、并发二、竞争三、保护内容是什么四、解决并发与竞争的几种常用方法1.原子操作原子整型API函数原子位操作 API 函数 2.自旋锁自旋锁格式如下:自旋锁 API 函数自旋锁的使用注意事项 3.信号量信号量 API 函数信号量格式如下: 4.互斥体API函数如…

正交频分复用回顾(通俗易懂)

OFDM我们知道,叫做正交频分复用,它是4G的一个关键技术,4G的多址技术叫做OFDMA,也就是说4G是通过OFDM来作用户区分的,具体是什么意思呢?继续往下看。 图1 在2G和3G时代, 单用户都是用的一个载波…

进口原装二手 Keysight86142B 是德86142A 高性能光谱分析仪

进口原装二手 Keysight86142B 是德86142A 高性能光谱分析仪 内置测试应用程序 • 10 pm 波长精度 • 快速双扫法 • 覆盖 S、C 和 L 波段 Keysight 86142B是一款台式光谱分析仪(OSA),最适于对功率和波长精度、动态范围和低偏振敏感性都要…

深入理解Linux中TCP/IP协议栈的实现原理与具体过程

一、Linux内核与网络体系结构 在我们了解整个linux系统的网络体系结构之前,我们需要对整个网络体系调用,初始化和交互的位置,同时也是Linux操作系统中最为关键的一部分代码-------内核,有一个初步的认知。 1、Linux内核的结构 …

ansible离线部署etcd二进制集群

目录 概述资源安装执行过程集群验证 概述 功能如下: ansible 2.9版本离线安装centos 7 内核离线升级cfssl 离线二进制安装etcd 3.5.13版本 二进制离线安装 资源 相关前置资源如下 资源地址Ansible离线安装地址ansible-playbook离线升级centos内核地址ansible离线…

基于springboot实现社区医院管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现社区医院管理系统演示 摘要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲&…

MySQL——变量的定义与使用

新建链接,自带world数据库,里面自带city表格。 DQL # MySQL变量的定义与使用 #1、不允许数字作为开头 #2、只能用_或$符号,不允许使用其他符号 #3、不允许使用关键字或保留字 set userName小可爱; select userName; #标识符只影响当前查询#…

[C++]哈希应用-海量数据处理

文章目录 海量数据处理前言哈希切分问题1:给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?问题2:给一个超过100G大小的log file, log中存着IP地址, 设计算法找到top K的IP? 位图应用问题3&…

UART、SPI 与 I2C:走线和布局指南

这是翻译自PCB Hero的一篇非常基础的文章。 还有一篇关于这三个总线的比较文章可以参照阅读一下:https://www.totalphase.com/blog/2021/12/i2c-vs-spi-vs-uart-introduction-and-comparison-similarities-differences/ I2C、SPI、UART 之间的差异及其布局指南 从8位到32位的…

ECP44304T-76是一款增强型通信处理器吗?

ABB ECP44304T-76是一款增强型通信处理器,专为ABB的PLC控制系统设计。 这款通信处理器的主要功能是提供PLC与其他设备或网络之间的通信接口。它支持多种通讯协议,包括但不限于Profibus、Ethernet、Modbus等,使得PLC可以轻松集成到复杂的工业…

【最大公约数 唯一分解定理 调和级数】2862. 完全子集的最大元素和

本文涉及知识点 质数、最大公约数、菲蜀定理 组合数学汇总 唯一分解定理 调和级数 LeetCode2862. 完全子集的最大元素和 给你一个下标从 1 开始、由 n 个整数组成的数组。你需要从 nums 选择一个 完全集,其中每对元素下标的乘积都是一个 完全平方数,例…

程序员学CFA——数量分析方法(六)

数量分析方法(六) 假设检验假设检验的步骤假设检验的基本思想与步骤估计与假设检验的区别假设检验的基本思想假设检验的步骤 假设检验的相关概念原假设与备择假设检验统计量及其分布显著性水平双尾检验与单尾检验p值第一类错误与第二类错误统计显著与经济…

力扣HOT100 - 155. 最小栈

解题思路&#xff1a; 辅助栈 class MinStack {private Stack<Integer> stack;private Stack<Integer> min_stack;public MinStack() {stack new Stack<>();min_stack new Stack<>();}public void push(int val) {stack.push(val);if (min_stack.i…

SpringBoot集成jxls2实现复杂(多表格)excel导出

核心依赖 需求 导出多个表格&#xff0c;包含图片&#xff0c;类似商品标签 1.配置模板 创建一个xlsx的模板文件&#xff0c;配置如下 该模板进行遍历了两次&#xff0c;因为我想要导出的数据分为两列展示&#xff0c;左右布局&#xff0c;一个循环实现不了&#xff0c;所以采…

计算机系列之面向对象、设计模式

24、面向对象技术&#xff08;重要&#xff0c;10分左右&#xff09; 1、面向对象开发 (1)对象:由数据及其操作所构成的封装体&#xff0c;是系统中用来描述客观事务的个实体&#xff0c;是构成系统的一个基本单位。一个对象通常可以由对象名、属性和方法3个部分组成。 (2)类…

YOLOV5更换转置卷积,助力涨点!

由于转置卷积是nn库自带的,所以我们直接找到models文件夹中的yolo.py文件中的 parse_model函数,再在如下图的地方添加转置卷积模块 # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license """ YOLO-specific modules.Usage:$ python models/yolo.py --cfg yolov5s.…