如何创建一个自己的Python库
·
创建Python库
确保项目结构清晰,通常包含以下文件和目录:
my_package/
├── my_package/
│ ├── __init__.py
│ └── module.py
├── tests/
├── README.md
├── LICENSE
├── pyproject.toml
└── setup.cfg
在__init__.py中定义包的主接口,module.py包含具体实现代码。编写单元测试放在tests/目录下。
配置项目元数据
创建pyproject.toml文件指定构建依赖:
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
创建setup.cfg配置包信息:
[metadata]
name = my-package
version = 0.1
author = Your Name
description = A short description
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/yourusername/my-package
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: MIT License
[options]
packages = find:
python_requires = >=3.6
install_requires =
requests>=2.25.1
本地构建与测试
安装构建工具:
pip install --upgrade setuptools wheel twine
构建分发文件:
python setup.py sdist bdist_wheel
本地测试安装:
pip install -e .
注册PyPI账户
访问pypi.org注册账户,确保用户名唯一。需要验证邮箱并设置双重认证。
上传到PyPI
使用twine上传,先测试上传到TestPyPI:
twine upload --repository testpypi dist/*
正式发布到PyPI:
twine upload dist/*
输入注册的PyPI用户名和密码完成上传。
版本更新
修改setup.cfg中的版本号,重新构建并上传:
rm -rf dist/
python setup.py sdist bdist_wheel
twine upload dist/*
维护最佳实践
保持CHANGELOG.md记录版本变更,使用语义化版本控制(MAJOR.MINOR.PATCH)。为每个功能分支创建独立GitHub Issue,使用Pull Request进行代码审查。
更多推荐


所有评论(0)