当前位置: 首页 > news >正文

【Python】3. python包的更新维护 编写项目介绍,更新日志,解决项目介绍乱码的问题(保姆级图文)

目录

    • 补充项目介绍
    • `setup.py` 配置项说明
      • 1. `name`
      • 2. `version`
      • 3. `packages`
      • 4. `description`
      • 5. `long_description`
      • 6. `long_description_content_type`
      • 7. `author`
      • 8. `author_email`
      • 9. `url`
      • 10. `classifiers`
      • 11. `install_requires`
    • 更新包
    • 中文乱码问题
    • 更新日志
      • README.md
      • CHANGELOG.md
    • 总结


欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

【Python】获取pypi的api token 并把自己写好的库上传到pypi(保姆级图文)
我们前面文章已经把库上传到pypi

https://pypi.org/project/csdn-mzh/

补充项目介绍

我们之前明明写了README.md为什么这里显示没有项目介绍?
因为还需要设置启用
在这里插入图片描述

更新setup.py,注意版本号一定要+1,特别的,long_description=open('README.md', encoding='utf-8').read()设置utf8解析,防止中文乱码

from setuptools import setup, find_packages

setup(
    name='csdn-mzh',
    version='0.2',
    packages=find_packages(),
    description="这里是包的简短描述",  # 项目描述
    long_description=open('README.md', encoding='utf-8').read(),  # 详细描述,通常放在 README 文件中
    long_description_content_type='text/markdown',  # 确定 README 格式(如 markdown)
    author="你的名字",
    author_email="你的邮箱@qq.com",
    url="https://github.com/your-repo",  # 项目网址(可选)
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    install_requires=['csdn'],  # 如果有依赖包,请在此列出,
)

setup.py 配置项说明

setup.py 文件是 Python 包的核心配置文件,包含了包的基本信息和元数据,供 setuptools 在打包、发布时使用。以下是每个配置项的详细说明:

1. name

  • 作用:指定包的名称。
  • 说明:这是你在 PyPI(Python Package Index)上发布的包名,用户安装时将使用这个名字。
  • 示例name='csdn-mzh'

2. version

  • 作用:指定包的版本号。
  • 说明:版本号遵循 major.minor.patch 的语义版本规范。更新版本时,应根据变更的性质修改版本号。
  • 示例version='0.2'

3. packages

  • 作用:指定要包含在包中的所有 Python 包。
  • 说明find_packages()setuptools 提供的一个工具,它会自动查找项目目录下的所有 Python 包(即含有 __init__.py 文件的目录)。你也可以手动列出这些包。
  • 示例packages=find_packages()

4. description

  • 作用:提供一个简短的包描述。
  • 说明:这是包的简短描述,通常会在 PyPI 项目页面显示出来。它帮助用户快速了解包的功能或用途。
  • 示例description="这里是包的简短描述"

5. long_description

  • 作用:提供包的详细描述。
  • 说明:这个字段用于提供更详细的说明,通常从项目的 README.mdREADME.rst 文件中读取。它将显示在 PyPI 页面上,给用户更多关于包的信息。
  • 示例long_description=open('README.md').read()

6. long_description_content_type

  • 作用:指定 long_description 的格式。
  • 说明:根据你的 README 文件的格式(如 Markdown、reStructuredText 等),选择相应的内容类型。常见的值有 text/markdowntext/x-rst
  • 示例long_description_content_type='text/markdown'

7. author

  • 作用:指定包的作者名称。
  • 说明:通常是包的开发者或维护者的名字。
  • 示例author="你的名字"

8. author_email

  • 作用:指定包作者的电子邮件地址。
  • 说明:提供一个联系方式,用户在遇到问题时可以联系包的作者。
  • 示例author_email="你的邮箱@qq.com"

9. url

  • 作用:指定包的主页 URL。
  • 说明:通常是项目的 GitHub 页面或其他托管代码的地址。这个字段是可选的。
  • 示例url="https://github.com/your-repo"

10. classifiers

  • 作用:指定包的分类信息。
  • 说明classifiers 是一组标准化的标签,帮助 PyPI 或其他包管理工具更好地描述和归类包。这些标签由 Python 包社区预定义,用于指明包的兼容性、许可协议、支持的操作系统等信息。
  • 示例
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ]
    

11. install_requires

  • 作用:指定包的依赖关系。
  • 说明:列出安装当前包时需要安装的其他 Python 包。它可以是一个列表,也可以是一个字符串。setuptools 会在安装时自动处理这些依赖。
  • 示例install_requires=['csdn']

README.md的内容

## 测试打包上传
1. XXXXXXXXXX

更新包

打包
python setup.py sdist bdist_wheel
上传
twine upload --verbose dist/*

项目介绍是README.md的内容
在这里插入图片描述
侧边栏是setup中的配置
在这里插入图片描述

中文乱码问题

setup.py中long_description=open('README.md', encoding='utf-8').read()
在这里插入图片描述

更新日志

通常不建议在README.md中直接写更新信息,那样让这个项目介绍太过冗长,我们是新建一个CHANGELOG.md专门用来存放更新信息,然后在README.md中跳转到更新信息.

README.md

主要是pypi没有提供内部直链,所以你要在一个比如说github或者你自己的网站托管更新日志,如果没有外链就直接写在readme中.
查看详细的更新历史,请访问 CHANGELOG.md。

# 项目名称

这是一个简短的项目描述。

## 更新日志

查看详细的更新历史,请访问 [CHANGELOG.md](https://github.com/你的用户名/你的仓库名/blob/main/CHANGELOG.md)## 安装

说明如何安装项目...

## 使用

说明如何使用项目...

CHANGELOG.md

# Project Title

## 更新日志 (Changelog)

### v1.2.0 - 2024-11-05
- 新增多语言支持功能。
- 修复了 Windows 系统启动时的崩溃问题。
- 优化了性能,特别是在处理大型数据集时。

### v1.1.0 - 2024-10-20
- 增加了文件上传功能。
- 修复了 macOS 上的兼容性问题。

### v1.0.0 - 2024-09-15
- 初始版本发布。

总结

大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-11-04

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】


相关文章:

  • Windows下安装ollama+deepseek+maxkb
  • 用Python3脚本实现Excel数据到TXT文件的智能转换:自动化办公新姿势
  • 深入miniqmt:创建交易对象的完整指南
  • Linux内核自定义协议族开发指南:理解net_device_ops、proto_ops与net_proto_family
  • 橄榄球、棒球项目排名·棒球1号位
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 4
  • 2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析
  • NLP09-加强1-对比SVM
  • P10108 [GESP202312 六级] 闯关游戏
  • 爬虫抓取数据时如何处理异常?
  • 物联网通信应用案例之《智慧农业》
  • SOME/IP-SD -- 协议英文原文讲解6
  • 嵌入式配置结构体的版本管理策略
  • mysql有索引但是查询没有使用索引是什么问题
  • [uboot][stm32]配置LTDC屏幕
  • AI如何改变传统工厂的生产模式?
  • Nginx 平滑升级/回滚
  • 免费的 S3 客户端工具:s3cmd
  • 特斯拉 FSD 算法深度剖析:软件层面全解读
  • 深入理解Java多线程编程:从基础到高级应用
  • 中国国家电影局与俄罗斯文化部签署电影合作文件
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭
  • 复旦设立新文科发展基金,校友曹国伟、王长田联合捐赠1亿助力人文学科与社会科学创新
  • 夜读丨最美的风景,在亲人的目光里
  • 长三角9座“万亿城市”一季报出炉:多地机器人产量大增
  • 今天全国铁路、公路进入返程高峰,这些路段时段通行压力大