我正在为一个项目撰写setup.py
文件,该项目目前依赖于pip install -r requirements.txt
。
其中一个依赖项属于另一个(git)存储库,它作为git子模块加载:我的项目的git clone --recursive
创建了一个子树X
,其中包含来自另一个存储库的依赖项。
requirements.txt
文件有一个条目,只是
./X
它运作得很好。
通过将相对路径放入setup.py
列表,我无法对install_requires
执行相同的操作。
我注意到setuptools.setup
功能还有两个附加键:
download_url
dependency_links
(提到here)但是从文档来看,不清楚应该如何分配这些文件以便pip找到子模块。
可以这样做吗?
我的解决方法如下:
$ cat requirements.txt
./X
.
$ pip install -r requirements.txt
...即要求在此项目X
之前安装子模块.
。它不是超级干净,但它只是有效。我认为这不是正确的做法,但它提出了我的目标是什么。