我正在使用 pip 来部署我的包,并且我希望它在我升级包时递归地拉出我的包的子模块,有人知道我该怎么做吗?
问问题
1246 次
1 回答
1
每当 pip 更新我的 repo 时,它会运行 setup.py 并以“develop”作为参数,所以我像这样更改了 setup.py:
from distutils.core import setup
from setuptools.command.develop import develop
from subprocess import check_call
from os import path
class update_submodules(develop):
def run(self):
print 1
if path.exists('.git'):
check_call(['git', 'submodule', 'update', '--init', '--recursive'])
develop.run(self)
a = setup(cmdclass = {"develop": update_submodules},
...
这意味着在运行“setup.py develop”的默认程序之前运行“git submodule update --init --recursive”。
于 2012-05-17T12:38:21.283 回答