首页 > 解决方案 > 在站点包中包含子目录文件时遇到问题

问题描述

我有一个开发包设置如下:

\polygonselector
    \polygonselector
        __init__.py
        \notebooks
            PolygonSelector.ipynb
    .gitignore
    LICENSE
    MANIFEST.in
    README.md
    setup.py

我正在尝试密切遵循这些说明以及此问题此问题中的信息,以便将 Jupyter 笔记本(notebooks目录内)文件作为 python 包的一部分。然而,我一直未能成功。

MANIFEST.in 文件如下所示:

recursive-include  notebooks *

我的文件中也有该include_package_data=Truesetup.py

这是存储库链接;我已经进行了十几个提交以尝试使其正常工作,包括尝试将notebooks目录置于目录结构的顶部。

但是无论我做什么,当我从存储库 pip install 时,该notebooks目录都不包含在Lib\site-packages directory.

标签: pythonsetuptools

解决方案


如果您希望子目录notebooks安装在Lib\site-packages

改变MANIFEST.in

recursive-include notebooks *

改变setup.py

# include_package_data=True,
package_data={'polygonselector': ['../notebooks/*']},

要安装到Lib\site-packages\polygonselector

git mv notebooks polygonselector

改变MANIFEST.in

recursive-include polygonselector/notebooks *

setup.py对于这种情况是可以的。


推荐阅读