用 Poetry 创建并发布 Python 包( 二 )

  • 添加flake8作为依赖项
  • [tool.poetry.scripts]
    Scripts 是“安装包时将被安装的脚本或可执行文件” 。换句话说,开发人员可以在这里根据函数创建CLI命令 。
    脚本的形式为:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    Flake8 markdown — 包含你的惊喜 — 有一个名为flake8 markdown的CLI命令:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    在安装 flake8-markdown 包之后, 运行 flake8-markdown 将从 flake8_markdown/__init__.py调用 main() 函数 。
    信息 要使包成为一个可运行模块,比如python -m flake8-markdown,它需要一个 __main__.py模块 。在Flake8 Markdown中,__main__.py 文件导入并运行与上述脚本相同的 main() 函数 。
    发布包TestPyPI
    TestPyPI 是“一个独立的Python包索引实例,它允许您在不影响实际索引的情况下尝试分发工具和进程” 。将包上传到TestPyPI 并从那里安装,可以帮助包维护人员避免发送损坏的包版本 。
    让我们看看如何将包上载到TestPyPI 。
    注在将包上载到测试包索引之前,您需要注册一个TestPyPI 帐户 。
    首先,构建包:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    接下来,将测试PyPI添加为备用包存储库:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    现在,把包发布到TestPyPI:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    最后,通过在 testpypi.pypi.org 上查看包并在独立的虚拟环境中安装测试版本,验证包的外观和工作是否符合预期:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    PyPI
    如果这个包在测试PyPI上看起来很好,并且正常启动,那么发布到PyPI就非常简单:
    用 Poetry 创建并发布 Python 包

    文章插图
     
    注在将包上传到包索引之前,你需要注册一个PyPI帐户。此帐户与TestPyPI上的任何帐户都是独立的 。
    总结PEP 517 打开了Poetry等工具的大门,提供了一种对开发人员友好的构建 Python 包的方式 。因此,用Poetry创建和发布一个包是一种直接的、无需费力的体验 。构建一个包就像编写代码和向pyproject.toml文件中添加各部分一样简单 。
    很愉快,我决定写一首关于它的诗:
    浮动Python代码 用Poetry集结 云端之旅
    Poetry 诗歌 。怎么样?
    英文原文:https://johnfraney.ca/posts/2019/05/28/create-publish-python-package-poetry/
    译者:青书
     




    推荐阅读