自制python包并通过pip上传pypi

 更新时间:2023年09月26日 10:03:24   作者:好文收藏  
这篇文章主要为大家介绍了自己制作python包并通过pip上传pypi实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

导读

平时写Python,需要用到一个新包时,习惯了pip install packageName,写多了就会想,这些包都是怎么来的?自己能不能"制作"一个,任何人也都可以通过pip安装?

有此想法,躬行实践.答案显然是肯定的,而且难度也绝没有想的那样大,或者说 It is easy.

1.编写代码

如要制作的包名为dashen,新建如下目录结构

  • 其中两个__init__.py为空即可
  • README.md写一些该package的介绍,非必选
  • your_func.py是具体的功能实现,在此示例如下:
def dashen_address():
    print('www.dashen.tech')
def dashen_master():
    print('shuang.cui')
def author_hometown():
    print('山东邹平')
  • setup.py内容如下:
import setuptools
with open("README.md","r") as fh:
    long_description = fh.read()
setuptools.setup(
    # 包的分发名称,使用字母、数字、_、-
    name="dashen",
     # 版本号, 版本号规范:https://www.python.org/dev/peps/pep-0440/
    version="0.0.1",
    # 作者名
    author="fliter",
     # 作者邮箱
    author_email="i@dashen.tech",  
    # 包的简介描述
    description="我的第二个python包",
    # 包的详细介绍(一般通过加载README.md)
    long_description=long_description, 
    # 和上条命令配合使用,声明加载的是markdown文件
    long_description_content_type="text/markdown",
    # 项目开源地址
    url="https://dashen.tech",
     # 如果项目由多个文件组成,我们可以使用find_packages()自动发现所有包和子包,而不是手动列出每个包,在这种情况下,包列表将是example_pkg
    packages=setuptools.find_packages(),
    # 关于包的其他元数据(metadata)
    classifiers=[
         # 该软件包仅与Python3兼容
        "Programming Language :: Python :: 3",
        # 根据MIT许可证开源
        "License :: OSI Approved :: MIT License",
        # 与操作系统无关
        "Operating System :: OS Independent",
    ],
)

2.账号注册及打包

pip install --upgrade pip setuptools wheel

  • 切换到setup.py的同级目录,进行打包

python setup.py sdist

会出现两个新文件

3.上传

上传Pypi

pip install twine(如果已经安装twine,跳过此步骤)

python -m twine upload dist/*输入Pypi的账号及密码

4.查看及检验

以上就是制作python包并通过pip上传pypi的详细内容,更多关于python包pip上传pypi的资料请关注脚本之家其它相关文章!

相关文章

  • Pycharm编辑器功能之代码折叠效果的实现代码

    Pycharm编辑器功能之代码折叠效果的实现代码

    这篇文章主要介绍了Pycharm编辑器功能之代码折叠效果的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • python列表操作之extend和append的区别实例分析

    python列表操作之extend和append的区别实例分析

    这篇文章主要介绍了python列表操作之extend和append的区别,实例分析了extend方法和append方法使用上的区别,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Pycharm学习教程(5) Python快捷键相关设置

    Pycharm学习教程(5) Python快捷键相关设置

    这篇文章主要为大家详细介绍了最全的Pycharm学习教程第五篇,Python快捷键相关设置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Python实现自动化处理每月考勤缺卡数据

    Python实现自动化处理每月考勤缺卡数据

    不管是上学还是上班都会统计考勤,有些学校或公司会对每月缺卡次数过多(比如三次以上)的人员进行处罚。本文提供了Python自动处理考勤和日志缺失的方法,需要的可以参考一下
    2022-06-06
  • python pip如何手动安装二进制包

    python pip如何手动安装二进制包

    这篇文章主要介绍了python pip如何手动安装二进制包,帮助大家更好的进行python开发,感兴趣的朋友可以了解下
    2020-09-09
  • Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    Python文件操作JSON CSV TSV Excel和Pickle文件序列化

    这篇文章主要为大家介绍了Python文件操作之JSON、CSV、TSV、Excel和Pickle文件序列化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python实现监控一个程序的运行情况

    Python实现监控一个程序的运行情况

    这篇文章主要为大家介绍了Python如何实现监控一个程序的运行情况,然后视情况将进程杀死并重启,文中的示例代码简洁易懂,需要的可以参考一下
    2023-05-05
  • Python中pyecharts安装及安装失败的解决方法

    Python中pyecharts安装及安装失败的解决方法

    这篇文章主要介绍了Python中pyecharts安装及安装失败的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python时间序列的实现

    Python时间序列的实现

    本文主要介绍了Python时间序列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 从入门到精通:Python项目打包与setup.py实战指南

    从入门到精通:Python项目打包与setup.py实战指南

    想要将你的Python项目分享给世界吗?本指南将带你从零开始,一步步学习如何打包你的Python项目,并创建一个专业的setup.py文件,我们将分享实用的技巧和最佳实践,帮助你的项目在Python社区中脱颖而出,跟着我们的步伐,让你的项目打包变得轻松有趣!
    2024-03-03

最新评论