使用poetry来制作pypi组件包

34 阅读1分钟

使用 Poetry 制作并发布一个 PyPI 组件包非常方便,下面以一个简单的 "Hello World" 项目为例,详细讲解步骤:

创建项目

  1. 在命令行中运行以下命令创建新项目目录:

    poetry new hello-world
    

    这会生成一个 hello-world 文件夹,包含项目结构,例如:

    hello-world/
    ├── README.rst
    ├── hello_world
    │   └── __init__.py
    ├── pyproject.toml
    └── tests
        ├── __init__.py
        └── test_hello_world.py
    

编写代码

  1. 进入包目录 hello-world/hello_world,编辑或新建 main.py,写入如下代码实现打印 "Hello, World!":

    def main():
        print("Hello, World!")
    
    if __name__ == "__main__":
        main()
    

配置入口和依赖

  1. 打开项目根目录下的 pyproject.toml,在 [tool.poetry.scripts] 部分添加入口点,使得可通过命令行运行:

    [tool.poetry.scripts]
    hello-world = "hello_world.main:main"
    
    [tool.poetry.dependencies]
    python = ">=3.9"
    

安装依赖及测试

  1. 在项目根目录执行:

    poetry install
    

    安装依赖环境。

  2. 运行测试用例(如果编写了测试):

    poetry run pytest
    

运行程序

  1. 使用命令运行你的脚本:

    poetry run hello-world
    

    会输出:

    Hello, World!
    

构建和发布到 PyPI

  1. 构建包:

    poetry build
    

    会在 dist/ 目录生成 .tar.gz.whl 文件。

  2. 配置 PyPI 令牌,用于认证上传(需先在 PyPI 注册账号并创建 API 令牌):

    poetry config pypi-token.pypi <your-api-token>
    
  3. 发布包到 PyPI:

    poetry publish --build
    

这样,包就发布到 PyPI,别人就能通过 pip install hello-world 来安装了。

以上是使用 Poetry 从创建项目到发布 PyPI 包的完整流程示例,非常适合初学者快速上手。