Python 在PyPI上分享与下载自己的库(pip install xxx)

1 篇文章 0 订阅
1 篇文章 0 订阅

准备工作

  1. 拥有一个 PyPI · The Python Package Index 的账号
  2. 已经写好能正常使用的库/方法/项目 (可本地调用)
  3. 库/方法/项目的结构如下图所示:
str2_md5     # 该目录名称随便取
├── LICENSE  # 可选
├── README.md   # 可选
├── str2_md5    # 该Package名称随便取,该目录用于存放我们已经写好能正常使用的库/方法/项目
│   ├── str2_md5.py  # 该文件文主方法文件,自己编写即可
│   └── __init__.py  # 作用参考:https://www.php.cn/python-tutorials-420226.html
└── setup.py    # 参考下文讲解

代码详情

        setup.py

import setuptools

with open("README.md", "r") as fh:
    long_description = fh.read()

setuptools.setup(
    name="debug-world",                                     # 包的分发名称,使用字母、数字、_、-
    version="0.0.1",                                        # 版本号, 版本号规范:https://www.python.org/dev/peps/pep-0440/
    author="jacks",                                       # 作者名字
    author_email="author@example.com",                      # 作者邮箱
    description="PyPI Tutorial",                            # 包的简介描述
    long_description=long_description,                      # 包的详细介绍(一般通过加载README.md)
    long_description_content_type="text/markdown",          # 和上条命令配合使用,声明加载的是markdown文件
    url="https://github.com/xxx",                           # 项目开源地址
    packages=setuptools.find_packages(),                    # 如果项目由多个文件组成,我们可以使用find_packages()自动发现所有包和子包,而不是手动列出每个包,在这种情况下,包列表将是example_pkg
    classifiers=[                                           # 关于包的其他元数据(metadata)
        "Programming Language :: Python :: 3",              # 该软件包仅与Python3兼容
        "License :: OSI Approved :: MIT License",           # 根据MIT许可证开源
        "Operating System :: OS Independent",               # 与操作系统无关
    ],
    install_requires=['pymysql>=0.10.0', 'retrying==1.3.3', 'xlrd>=1.2.0', 'openpyxl>=3.0.5'],  # 依赖的包
    python_requires='>=3'
)

# 这是最简单的配置
# 有关详细信息,请参阅(https://packaging.python.org/guides/distributing-packages-using-setuptools/)

本地打包

进入setup.py同级目录,然后运行打包程序;

# 运行setup.py
python setup.py sdist

 如无异常,本地打包成功后;会新增dist与对应的xxx.egg-info文件夹

 

上传分享本地包到PyPI

pip install twine     # 如果已经安装twine,跳过次步骤
twine upload dist/*   # 进入setup.py同级目录执行
# 接着会让你输入PyPI用户名和密码,注意不是邮箱和密码
# 出现下面信息说明成功,如有错误信息,检查setup.py配置信息

验证与使用分享的python包

        1.验证  Search results · PyPI 官网查询确认上传包是否成功

        2.使用 本地pip install xxx(上传模块),按第三方模块使用即可

# 举个栗子
from str2_md5 import str2_md5
myStr = 'hello_PyPI'
print(str2_md5.getStrAsMD5(myStr))

 官方参考: Packaging Python Projects — Python Packaging User Guide

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值