项目开发--基于PyPi的祖传代码打包更新

背景

1、如何将代码打包成能够被pip install 的程序包,方便后续的使用和管理更新。

解决方案

将代码打包成可通过 pip install 安装的程序包涉及几个步骤。以下是创建和发布Python包的基本指南:

  1. 准备包结构
    首先,你需要创建一个合适的包结构。一个基本的包结构通常如下所示:
your_package/
├── your_package/
│   ├── __init__.py
│   └── module1.py
│   └── module2.py
│   └── ...
├── tests/
│   ├── __init__.py
│   └── test_module1.py
│   └── ...
├── setup.py
├── README.md
├── LICENSE
└── requirements.txt

init.py:一个空文件,标识该目录是一个Python包。 module1.py, module2.py 等:你的包的代码文件。 tests/:包含测试代码的目录。 setup.py:包含包的元数据和安装配置的脚本。
README.md:包的说明文件,通常为Markdown格式。 LICENSE:包的许可证文件。
requirements.txt:包的依赖列表。

  1. 编写 setup.py
    setup.py 是一个Python脚本,用于定义包的属性和配置安装过程。以下是一个基本的 setup.py 示例:
from setuptools import setup, find_packages

setup(
    name='your_package',
    version='0.1.0',
    author='Your Name',
    author_email='[email protected]',
    packages=find_packages(),
    include_package_data=True,
    url='http://your-package-homepage/',
    license='LICENSE',
    description='A short description of your package',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    install_requires=[
        # 依赖列表
    ],
    classifiers=[
        # 包的分类列表,例如:
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
    ],
)
  1. 编写 README.md 和 LICENSE
    README.md 应该提供关于包的基本信息,包括它的用途、安装说明、使用方法等。LICENSE 文件应该包含你的包的许可证的完整文本。

  2. 确定依赖
    在 setup.py 中的 install_requires 属性列出了包的依赖。requirements.txt 也可以列出依赖,通常用于开发环境。

  3. 上传到PyPI前置工作
    在上传之前,你需要注册一个PyPI账户。注册链接
    在这里插入图片描述
    注意如果你是第一次使用pypi的话,那么你在上传的时候需要输入的token需要先通过获取2FA验证(一共有两部分),只有通过了2FA的验证才能进行token创建
    在这里插入图片描述
    关于TOTP的这个二维码验证,推荐使用google authenticator来进行。完成验证之后创建对应的token即可,记得保存token。
    在这里插入图片描述

  4. 打包上传
    步骤:先打包,然后测试是否能成功上传,最后进行上传操作。
    1、在包的根目录下运行以下命令来创建包的发行版,这将在 dist/ 目录下创建发行版文件。

python setup.py sdist bdist_wheel

2、上传之前先进行测试上传,通过之后在进行正式上传。出现类似下面的内容则说明上传成功,也可以直接去官网上看。注意:这个地方需要你输入之前保存的Token

python3 -m twine upload --repository testpypi dist/*

在这里插入图片描述
3、使用 twine 来上传你的包。确保在上传之前检查 version 号,每次上传应该是一个更高的版本号。注意:这个时候你需要切换到你生产环境的Token,也就是说你上面的操作一共有两遍,在测试环境通过没有问题之后才能够在生产环境当中进行使用。

twine upload dist/*
  1. 安装包
    其他人现在可以使用 pip 来安装你的包,如果你需要进行版本迭代的话请记得修改版本号和说明,然后重复上面的步骤6即可
pip install your_package

注意事项
确保测试你的包在不同的环境中都能正常工作。
考虑使用 setuptools_scm 来自动管理版本号。
阅读 PyPA的打包教程 以获取更多详细信息和最佳实践。
将代码打包并发布为可安装的程序包是一个涉及多个步骤的过程,但遵循上述指南将帮助你顺利完成。

参考文献

python–如何将自己的包上传到PyPi并可通过pip安装
如何打包上传Python程序或模块包到PyPi供其他人使用pip下载?

测试环境
生产环境

猜你喜欢

转载自blog.csdn.net/bw876720687/article/details/141460798