如何将自己的python库打包成wheel文件并上传到pypi

 更新时间:2021年04月26日 10:52:41   作者:Alan Rick  
这篇文章主要介绍了如何将自己的python库打包成wheel文件并上传到pypi,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

新建项目

如下图,比如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官网的方法进行上传。

到此这篇关于如何将自己的python库打包成wheel文件并上传到pypi的文章就介绍到这了,更多相关python库打包成wheel并上传到pypi内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python-docx把dataframe表格添加到word文件中

    python-docx把dataframe表格添加到word文件中

    用Python-docx库,可以轻松地添加表格到Word文档中,本文主要介绍了python-docx把dataframe表格添加到word文件中,感兴趣的可以了解一下
    2023-08-08
  • python datetime 和时间戳互相转换问题

    python datetime 和时间戳互相转换问题

    time和datetime都是Python中的内置模块(不需要安装,直接可以使用),都可以对时间进行获取,对时间格式进行转换,如时间戳和时间字符串的相互转换,本文先给大家介绍python datetime 和时间戳互转问题,感兴趣的朋友一起看看吧
    2022-11-11
  • PyQt5每天必学之进度条效果

    PyQt5每天必学之进度条效果

    这篇文章主要为大家详细介绍了PyQt5实现进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python 自动唤醒窗口截图脚本

    Python 自动唤醒窗口截图脚本

    截图的操作用途最为广泛,你可以用它配合定时工具,定时检测某个程序的运行情况,本文给大家讲下如何使用 win32api 实现自动唤醒并截图的操作,对Python窗口截图脚本知识感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • Random 在 Python 中的使用方法

    Random 在 Python 中的使用方法

    random() 方法返回随机生成的一个实数,它在[0,1)范围内。这篇文章主要介绍了Random 在 Python 中的使用方法,需要的朋友可以参考下
    2018-08-08
  • TensorFlow在MAC环境下的安装及环境搭建

    TensorFlow在MAC环境下的安装及环境搭建

    小编在论坛中看到很多朋友在寻找TensorFlow的环境搭建图文步骤以及安装的具体流程,在此小编给大家整理了一篇非常详细的图文流程,希望能够帮助到你。
    2017-11-11
  • python 把数据 json格式输出的实例代码

    python 把数据 json格式输出的实例代码

    下面小编就为大家带来一篇python 把数据 json格式输出的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • python如何通过twisted搭建socket服务

    python如何通过twisted搭建socket服务

    这篇文章主要介绍了python如何通过twisted搭建socket服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Tensorflow 自定义loss的情况下初始化部分变量方式

    Tensorflow 自定义loss的情况下初始化部分变量方式

    今天小编就为大家分享一篇Tensorflow 自定义loss的情况下初始化部分变量方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python类和继承用法实例

    python类和继承用法实例

    这篇文章主要介绍了python类和继承用法,实例分析了Python类的定义与继承的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论