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

Python setuptools 入门指南(手把手教你用 setuptools 打包和发布 Python 项目)

在 Python 开发中,setuptools 是一个非常重要的打包工具。无论你是想将代码分享给他人,还是上传到 PyPI(Python Package Index),掌握 Python setuptools 的基本用法都是必不可少的。本教程将从零开始,带你一步步学会如何使用 setuptools 构建、打包并发布你的 Python 项目。

什么是 setuptools?

setuptools 是 Python 官方推荐的打包工具之一,它扩展了早期的 distutils 模块,提供了更强大的功能,比如依赖管理、自动脚本生成、入口点配置等。通过 Python打包工具 setuptools,你可以轻松地将项目构建成可安装的 wheel 或源码分发包。

Python setuptools 入门指南(手把手教你用 打包和发布 项目)  Python打包工具 setuptools教程 Python项目构建 第1张

第一步:准备你的项目结构

假设你有一个简单的 Python 项目,目录结构如下:

myproject/├── mypackage/│   ├── __init__.py│   └── main.py├── setup.py└── README.md

其中 mypackage 是你要打包的模块,main.py 包含一些功能函数。

第二步:编写 setup.py 文件

setup.py 是 setuptools 的核心配置文件。下面是一个最基础但完整的示例:

from setuptools import setup, find_packagessetup(    name="mypackage",    version="0.1.0",    author="Your Name",    author_email="your.email@example.com",    description="A simple example package",    long_description=open("README.md").read(),    long_description_content_type="text/markdown",    url="https://github.com/yourname/myproject",    packages=find_packages(),    classifiers=[        "Programming Language :: Python :: 3",        "License :: OSI Approved :: MIT License",        "Operating System :: OS Independent",    ],    python_requires='>=3.6',    install_requires=[        # 如果有依赖,写在这里,例如:        # 'requests',    ],    entry_points={        'console_scripts': [            'mycommand=mypackage.main:main',        ],    },)

这段代码中,我们使用了 find_packages() 自动发现所有子包,并通过 entry_points 注册了一个命令行工具 mycommand,用户安装后可以直接在终端运行该命令。

第三步:构建分发包

在项目根目录下打开终端,运行以下命令来安装构建依赖:

pip install build

然后执行构建命令:

python -m build

成功后,你会在项目目录下看到一个 dist/ 文件夹,里面包含 .whl(wheel 文件)和 .tar.gz(源码包)两种格式的分发文件。

第四步:本地测试安装

在正式发布前,建议先在本地测试安装是否正常:

pip install dist/mypackage-0.1.0-py3-none-any.whl

安装成功后,你可以尝试导入模块或运行命令行工具,验证功能是否正常。

第五步:发布到 PyPI(可选)

如果你希望全世界都能安装你的包,可以将它上传到 PyPI。首先安装上传工具:

pip install twine

然后上传:

twine upload dist/*

系统会提示你输入 PyPI 账号和密码(建议使用 API Token 更安全)。

总结

通过本篇 setuptools教程,你应该已经掌握了如何使用 Python项目构建 工具 setuptools 来打包自己的 Python 项目。无论是用于团队内部共享,还是开源发布,这都是一个非常实用的技能。记住关键四步:写 setup.py → 构建 → 测试 → 发布。

现在,快去试试打包你自己的项目吧!

本文关键词:Python setuptools, Python打包工具, setuptools教程, Python项目构建