如何解决如何告诉ReadTheDocs从子目录构建项目包?
我有一个存储库,其中包含三个python软件包:一个主软件包和两个附加软件包,以及共享文档。每个项目位于其自己的目录中,并具有自己的setup.py,如下所示:
- 存储库
- 主要项目
- setup.py
- 附加件一
- setup.py
- 附件二
- setup.py
- 文档
- RST文件,RTD conf等
- 主要项目
以前,我使用setuptools.find_packages()来构建我的程序包,但是由于它们共享命名空间,所以它们的内容泄漏在一起时会遇到问题。所以我改用指定要构建的软件包,例如
packages=["Main Package"]
但是,这破坏了我指定的ReadTheDocs自动构建
- method: setuptools
path: Main Project
.readthedocs.yml中,RTD现在抱怨我的软件包(在Main Project目录中)不存在,因为它试图构建它。
在我的项目中,我使用脚本构建软件包,然后在其中移入每个目录,运行其设置,然后移出。工作正常,我的软件包和文档全部在本地构建。但是,RTD似乎仅使用已定义的path
来添加我的setup.py脚本,因此未找到源包,因为工作目录是父目录(但我可能错了!)。>
我已经阅读了文档,包括https://github.com/readthedocs/readthedocs.org/issues/4354,该功能最初是在其中添加的,但是我自己还找不到解决方案。
如何在构建软件包之前告诉RTD更改目录,还是有其他方法可以支持我的存储库结构?
有问题的存储库为here。
解决方法
我找到了解决方法:
我将本地构建脚本更改为使用根项目目录(如RTD)。然后,我将指令package_dir={"": "[directory]"}
添加到每个项目的setuptools.setup()
中的setup.py
调用中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。