使用 Poetry 制作并发布一个 PyPI 组件包非常方便,下面以一个简单的 "Hello World" 项目为例,详细讲解步骤:
创建项目
-
在命令行中运行以下命令创建新项目目录:
poetry new hello-world这会生成一个
hello-world文件夹,包含项目结构,例如:hello-world/ ├── README.rst ├── hello_world │ └── __init__.py ├── pyproject.toml └── tests ├── __init__.py └── test_hello_world.py
编写代码
-
进入包目录
hello-world/hello_world,编辑或新建main.py,写入如下代码实现打印 "Hello, World!":def main(): print("Hello, World!") if __name__ == "__main__": main()
配置入口和依赖
-
打开项目根目录下的
pyproject.toml,在[tool.poetry.scripts]部分添加入口点,使得可通过命令行运行:[tool.poetry.scripts] hello-world = "hello_world.main:main" [tool.poetry.dependencies] python = ">=3.9"
安装依赖及测试
-
在项目根目录执行:
poetry install安装依赖环境。
-
运行测试用例(如果编写了测试):
poetry run pytest
运行程序
-
使用命令运行你的脚本:
poetry run hello-world会输出:
Hello, World!
构建和发布到 PyPI
-
构建包:
poetry build会在
dist/目录生成.tar.gz和.whl文件。 -
配置 PyPI 令牌,用于认证上传(需先在 PyPI 注册账号并创建 API 令牌):
poetry config pypi-token.pypi <your-api-token> -
发布包到 PyPI:
poetry publish --build
这样,包就发布到 PyPI,别人就能通过 pip install hello-world 来安装了。
以上是使用 Poetry 从创建项目到发布 PyPI 包的完整流程示例,非常适合初学者快速上手。