You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Poetry打包Python命名空间包:novi_activations无法随pip安装

Python命名空间包novi_activations无法通过Poetry打包安装

背景

我开发了一个开源Python包,已发布到PyPI,使用Poetry完成打包与发布工作。src目录结构如下:

- src
   |- novi
       |- client
       |    |- __init__.py
       |- core
       |    |- __init__.py
       |- web
       |    |- __init__.py    
   |- novi_activations

novi和novi_activations均为Python命名空间包,它们的根目录下没有直接的__init__.py文件。

问题与尝试过程

  1. 最初的pyproject.toml配置:
[tool.poetry]
name = "novi"
version = "0.4.5"
description = "A simple yet powerful feature flag and multivariate testing platform built in Python"
authors = ["vdevigere <vdevigere+git@gmail.com>"]
readme = "README.md"
packages = [
    {include = "novi", from="src"},
]
include =[
    {path="src/novi_activations"}
]
.....

生成的tar包结构正常,novi与novi_activations都被包含在内,但用户执行pip install novi后,只有novi包被成功安装,novi_activations并未被安装。

  1. 尝试将novi_activations加入packages配置:
[tool.poetry]
name = "novi"
version = "0.4.5"
description = "A simple yet powerful feature flag and multivariate testing platform built in Python"
authors = ["vdevigere <vdevigere+git@gmail.com>"]
readme = "README.md"
packages = [
    {include = "novi", from="src"},
    {include = "novi_activations", from="src"}
]
......

此时直接报错,提示novi_activations不是一个包。

我知道可以通过在novi_activations目录下添加虚拟包的方式解决问题,但不想采用这种方案,求其他可行的解决办法。


内容的提问来源于stack exchange,提问作者VDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:42:52