我正在使用pip来部署我的软件包,我希望每当我升级软件包时都会递归地提取我的软件包的子模块,有人知道我该怎么做吗?
答案 0 :(得分: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”。