可发布Python包 项目示例
所属分类 python
浏览量 19
项目关键文件
打包配置:
pyproject.toml:定义项目元数据和构建系统要求
setup.py:配置包安装选项和依赖
MANIFEST.in:指定需要包含在包中的非代码文件
包结构:
源代码位于src/mypackage目录
__init__.py文件定义包的公共接口
utils.py包含实用函数和类
测试:
使用 pytest 框架
测试文件位于tests目录
包含一个测试配置文件conftest.py
文档和许可:
README.md提供项目概述和使用说明
LICENSE文件包含 MIT 许可证文本
# 安装构建工具
pip install build twine
build:用于构建包
twine:用于上传包到 PyPI
# 构建源分发包和wheel包
python -m build
dist/your_project-1.0.0.tar.gz(源码包)
dist/your_project-1.0.0-py3-none-any.whl(wheel 包)
# 上传到PyPI测试环境
python -m twine upload --repository testpypi dist/*
# 上传到正式PyPI
python -m twine upload dist/*
pip install -e .[test]
Python 项目开发中常用的命令
将当前项目以 “可编辑模式”(editable mode)安装到 Python 环境中,并包含测试相关的依赖项
[test]
pip 的 “可选依赖组”(extras_require)语法,用于安装项目中定义的特定依赖组
例如,项目的setup.py或pyproject.toml中可能定义了test组,包含测试所需的工具(如pytest、coverage等)
通过[test]参数,pip 会安装主依赖 + 测试依赖
pytest
运行报错
ModuleNotFoundError: No module named 'mypackage'
执行 pip install -e .[test]
pytest 运行ok
Python3 安装自己封装的模块 两种方式
方式一:使用 pip install -e(开发模式)
将模块链接到 Python 环境中,适合开发阶段使用 ,修改模块代码后无需重新安装即可生效
在模块根目录下创建 setup.py 文件
打开终端,进入模块根目录
执行命令:pip install -e .
方式二:构建并安装(正式发布模式)
这种方式会创建一个可分发的包文件(如 .whl 或 .tar.gz),适合发布给他人使用
步骤:
在模块根目录下创建 setup.py 和 pyproject.toml 文件
打开终端,进入模块根目录
执行命令构建包:python -m build
安装生成的包文件:pip install dist/your_package_name-0.1.0-py3-none-any.whl
安装生成的包文件
pip install dist/your_package_name-0.1.0-py3-none-any.whl
pip install dist/my_awesome_package-0.1.0-py3-none-any.whl
pip list |grep my-awesome-package
my-awesome-package 0.1.0
导入包测试
命令行执行 python ,进入python环境
>>> from mypackage.utils import greet, Calculator
>>> greet("Alice")
'Hello, Alice!'
>>> calc = Calculator()
>>> calc.add(5, 3)
8
https://gitee.com/dyyx/work2024/tree/master/demo/python/python-package-example
上一篇
下一篇
flask hello
python字节码缓存 .pyc 文件
python 项目目录结构
pytorch 快速入门
numpy 与 pytorch
向GPT提问的技巧