如何将自己的python库打包成wheel文件并上传到pypi
作者:Alan Rick 发布时间:2022-03-20 06:13:40
新建项目
如下图,比如sigma目录是我要上传的项目,在six-sigma目录下新建三个文件,分别是LICENSE也就是开源协议,README.md文件,用于介绍自己的项目和setup.py这个配置文件,此文件配置关于项目和作者的一些信息,接下来我们一一介绍。
LICENSE文件
Copyright (c) 2018 The Python Packaging Authority
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
README.md文件
# Example Package
This is a simple example package. You can use
[Github-flavored Markdown](https://guides.github.com/features/mastering-markdown/)
to write your content.
setup.py文件
import setuptools
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
name="sigma_t", # 项目名称
version="0.0.1", # 项目版本信息
author="AlanRick", # 作者 写你的真实姓名即可
author_email="zs13128488417@gmail.com", # 作者邮箱
description="six sigma project", # 项目简介
long_description=long_description, # 项目详细的介绍 这里直接读取README.md文件
long_description_content_type="text/markdown", # 项目详细介绍的文件类型
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
package_dir={"": "src"}, # 自己的包所在目录
packages=setuptools.find_packages(where="src"), # 所有模块所在目录
python_requires=">=3.6", # python所需要的版本
)
安装所需插件
确保您已经在pypi.org上注册了账号,然后执行以下命令
pip install wheel
pip install twine
打包文件为*.whl
首先在终端cd到setup.py文件所在目录下,并在终端执行以下命令进行打包
python setup.py bdist_wheel
打包完成生成如下文件
上传包至pypi
python -m twine upload dist/sigma-0.0.1-py3-none-any.whl
如下在终端提示您输入用户名和密码然后进行上传
如下上传成功
在pypi项目管理页面可以看到刚上传好的文件
点开项目可以看到我们的配置文件显示在前端了
结语
也可以参考pypi官网的方法进行上传。
来源:https://blog.csdn.net/weixin_43059285/article/details/116124046


猜你喜欢
- yolov5的代码模型构建是通过.yaml文件实现的,初次看上去会一头雾水,这里记录一下,也方便自己后面用到的时候查看。以models/yo
- 前言深度神经网络是一种目前被广泛使用的工具,可以用于图像识别、分类,物体检测,机器翻译等等。深度学习(DeepLearning)是一种学习神
- 前言最近因为工作的原因,在使用SSM框架实现一个商品信息展示的功能,商品的数据较多,不免用到分页,查了一番MyBatis分页的做法,终于是实
- 本文实例讲述了Python3.5常见内置方法参数用法。分享给大家供大家参考,具体如下:Python的内置方法参数详解网站为:https://
- MySQL表中的约束(constraint)为了保证数据的完整性,(数据的精确性和可靠性)SQL规范以约束的方式对表数据进行额外的条件限制,
- 1.学习目标递归函数是直接调用自己或通过一系列语句间接调用自己的函数。递归在程序设计有着举足轻重的作用,在很多情况下,借助递归可以优雅的解决
- nav导航栏<nav role="navigation" class="navbar navbar-de
- 在一般的MIS应用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储过程,用ASP通过ADO调用以完成报表工作。下面用一个例子
- (1)安装Jpype 用Python调用jar包需要安装jpype扩展,在Ubuntu上可以直接使用apt-get安装jpype扩展$ su
- 1.列表元素删操作的方法列表的删操作指的是在列表中删除已存在的元素,列表中的元素被删除后,后面所有的元素依次往前移动一位,挂在被删除元素的索
- 该章节我们来学习一下在 Python 中去创建并使用多进程的方法,通过学习该章节,我们将可以通过创建多个进程来帮助我们提高脚本执行的效率。可
- 目录1. 从标准输入中读取2. 单独打开一个文件3. 批量打开多个文件4. 读取的同时备份文件5. 标准输出重定向替换6. 不得不介绍的方法
- 这时候最好的做法就是按需引入,动态引入组件js和样式,文件load完成后调用callback,运行js。代码还是很简便的 1. 判断文件lo
- 1. 概述information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其
- 例如:preds = to_numpy(preds)#preds是[2985x16x2]preds = preds.transpose(2,
- 一、开发时管理数据库遇到的问题:现在开发一般都是团队开发,这样就会出现项目同步的问题,代码同步可以通过SVN工具管理起来,那数据库同步怎么办
- Pandas查询数据的几种方法df.loc方法,根据行、列的标签值查询df.iloc方法,根据行、列的数字位置查询df.where方法df.
- If...Then...Else 语句的一种变形,即添加任意多个 ElseIf 子句以扩充 If...Then...Else 语句的功能,允
- #coding:utf-8 #批量修改文件名 import os import re import datetime re_st = r
- 描述Python time time()返回当前时间的时间戳(1970 * 后经过的浮点秒数)。突然想看时间了,打开cmd发现脑中空荡,Jav