创建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进行代码审查。

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐