1

パッケージのデプロイに pip を使用していますが、パッケージをアップグレードするたびにパッケージのサブモジュールを再帰的にプルしたいのですが、どうすればよいか知っていますか?

4

1 に答える 1

1

pip がリポジトリを更新するたびに、「develop」を引数として setup.py が実行されるため、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 に答える