2024-09-30 12:26:46 发布
网友
我想使用poethy来构建和分发Python源代码包,但是在poetry init之后,我在运行poetry build时遇到了一个错误
poetry init
poetry build
ModuleOrPackageNotFound No file/folder found for package mdspliter.tree
找不到它的原因很可能是因为目录层次结构不正确
发布的包不是直接的源代码文件夹,其中有许多东西在最终包中不需要,例如版本控制、测试和依赖关系管理
您应该将与包同名的此文件夹作为包放在该文件夹中
D:\GitRepository\python_distribution\temp\tree ├──_init__.py ├──tree.py ├──pyproject.toml └──README.rst
↓
D:\GitRepository\python_distribution\temp\tree ├──tree │ ├──__init__.py │ └──tree.py ├──pyproject.toml └──README.rst
pyproject.toml
packages = [ { include = "your_folder_as_pack" } ]
如果项目的名称是mdspliter.tree,那么包含文件夹mdspliter.tree就毫无用处,因为此命名方案不符合规范,如果使用poetry new mdspliter.tree,您会发现文件夹的名称实际上应该是mdspliter_tree
mdspliter.tree
poetry new mdspliter.tree
mdspliter_tree
(在版本1.2中,此行为已更改为生成多层文件夹,mdsplitter/tree)
mdsplitter/tree
理由
找不到它的原因很可能是因为目录层次结构不正确
发布的包不是直接的源代码文件夹,其中有许多东西在最终包中不需要,例如版本控制、测试和依赖关系管理
您应该将与包同名的此文件夹作为包放在该文件夹中
解决方案
↓
pyproject.toml
中指定文件夹变体
如果项目的名称是
mdspliter.tree
,那么包含文件夹mdspliter.tree
就毫无用处,因为此命名方案不符合规范,如果使用poetry new mdspliter.tree
,您会发现文件夹的名称实际上应该是mdspliter_tree
(在版本1.2中,此行为已更改为生成多层文件夹,
mdsplitter/tree
)相关问题 更多 >
编程相关推荐