通过poetry打包python包,并验证

第一步:安装与配置 Poetry

  1. 安装 (官方推荐方式):
  • Windows (PowerShell,以管理员身份运行):
    (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
  1. 将Poetry添加到环境变量中
    Snipaste_2026-03-30_11-36-44

  2. 验证安装:
    poetry --version

  3. 推荐配置 (让虚拟环境在项目中生成,方便 PyCharm 识别):
    poetry config virtualenvs.in-project true

第二步:初始化项目 (已有代码版)

  1. 项目根目录下初始化
    Snipaste_2026-03-30_11-41-58

  2. 交互式问答 (根据提示输入,也可以直接回车使用默认值):
    执行完后,你的项目根目录下会多出一个 pyproject.toml 文件。

第三步:配置 pyproject.toml (关键步骤)
这是打包的核心。你需要编辑 pyproject.toml 来告诉 Poetry 你的代码在哪里。
pyproject.toml,将其修改为如下结构:

[project]
name = "pythonproject"          # 发布到 PyPI 的包名
version = "0.2.0"               # 版本号
description = "学习"
authors = [
    {name = "huanghuicheng@h-partners.com"}
]
license = "MIT"
readme = "README.md"            # 必须有这个文件,或者删掉这行
# 重点:如果你的代码在 pythonproject 文件夹下,Poetry 通常能自动识别。
# 如果识别有问题,可以显式指定 include:
# include = ["pythonproject"]

# 指定python解释器的版本
requires-python = ">=3.12"
# 指定第三方依赖的版本
dependencies = [
]


[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

注意: 确保你的代码文件夹(例如 pythonproject/)和 pyproject.toml 在同一级目录下。

第四步:在 PyCharm 中集成 Poetry
Snipaste_2026-03-30_11-53-21
Snipaste_2026-03-30_11-54-23

第五步:构建打包 (Build)
poetry build

第六步:本地测试安装刚打出来python包 (可选)

pip install xxx/dist/pythonproject-0.2.0-py3-none-any.whl
  • cmd中执行如上命令时,是安装到了全局 Python 环境,安装路径:C:\Users{username}\AppData\Local\Programs\Python\Python312\Lib\site-packages,如图所示:
    Snipaste_2026-03-30_14-14-51
    此时同一台电脑上的其他项目想导入这个包,需要将解释器设置为系统解释器
    Snipaste_2026-03-30_14-18-33

  • 在pycharm中创建python项目时,ide会为当前项目创建一个虚拟环境,跟全局环境是隔离的。
    Snipaste_2026-03-30_14-29-55
    此时若想引用pythonproject包,需要在pycharm的Terminal中执行安装命令:

第七步:发布到 PyPI (可选)

posted @ 2026-03-30 14:35  深海里游弋的鱼  阅读(0)  评论(0)    收藏  举报