From 5b9a6ec0c81f0e7dbcc2473baf12974ebb780167 Mon Sep 17 00:00:00 2001 From: moto <855818+mthrok@users.noreply.github.com> Date: Thu, 23 Jun 2022 09:30:54 -0700 Subject: [PATCH 1/3] Automatically initialize submodule This commit adds `git` submodule initialization commands at the beginning of setup, so that third party modules become available automatically. This makes it possible to install torchtext with a command like `pip install --no-use-pep517 git+https://github.com/pytorch/text.git` See also: - https://github.com/pytorch/text/pull/1154 - https://github.com/pytorch/audio/pull/1966 --- setup.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/setup.py b/setup.py index 080415f7ee..a57cfff985 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ import distutils.command.clean import io import os +import sys import shutil import subprocess from pathlib import Path @@ -44,6 +45,18 @@ def _export_version(version, sha): fileobj.write("git_version = {}\n".format(repr(sha))) +def _init_submodule(): + print(" --- Initializing submodules") + try: + subprocess.check_call(["git", "submodule", "init"]) + subprocess.check_call(["git", "submodule", "update"]) + except Exception: + print(" --- Submodule initalization failed") + print("Please run:\n\tgit submodule update --init --recursive") + sys.exit(1) + print(" --- Initialized submodule") + + VERSION, SHA = _get_version() _export_version(VERSION, SHA) @@ -76,6 +89,7 @@ def run(self): shutil.rmtree(str(path), ignore_errors=True) +_init_submodule() setup_info = dict( # Metadata name="torchtext", From 96051e19169dc3e41aece2bed7aa005a27c711b0 Mon Sep 17 00:00:00 2001 From: moto <855818+mthrok@users.noreply.github.com> Date: Thu, 23 Jun 2022 09:44:32 -0700 Subject: [PATCH 2/3] Remove submodule initialization from packaging/CI --- .circleci/unittest/linux/scripts/install.sh | 1 - .circleci/unittest/windows/scripts/install.sh | 1 - packaging/torchtext/bld.bat | 3 --- packaging/torchtext/build.sh | 1 - 4 files changed, 6 deletions(-) diff --git a/.circleci/unittest/linux/scripts/install.sh b/.circleci/unittest/linux/scripts/install.sh index 6d8e427540..d7bdb3b97f 100755 --- a/.circleci/unittest/linux/scripts/install.sh +++ b/.circleci/unittest/linux/scripts/install.sh @@ -33,7 +33,6 @@ printf "Installing torchdata nightly\n" pip install --pre torchdata --extra-index-url https://download.pytorch.org/whl/nightly/cpu printf "* Installing torchtext\n" -git submodule update --init --recursive python setup.py develop printf "* Installing parameterized\n" diff --git a/.circleci/unittest/windows/scripts/install.sh b/.circleci/unittest/windows/scripts/install.sh index bd7609f734..452f4ac584 100644 --- a/.circleci/unittest/windows/scripts/install.sh +++ b/.circleci/unittest/windows/scripts/install.sh @@ -26,7 +26,6 @@ curl --output pywin32_postinstall.py https://raw.githubusercontent.com/mhammond/ python pywin32_postinstall.py -install printf "* Installing torchtext\n" -git submodule update --init --recursive "$root_dir/packaging/vc_env_helper.bat" python setup.py develop printf "* Installing parameterized\n" diff --git a/packaging/torchtext/bld.bat b/packaging/torchtext/bld.bat index 7e5a4861d3..5acf8bcc8a 100644 --- a/packaging/torchtext/bld.bat +++ b/packaging/torchtext/bld.bat @@ -1,7 +1,4 @@ @echo off -git submodule update --init --recursive -if errorlevel 1 exit /b 1 - python setup.py install --single-version-externally-managed --record=record.txt if errorlevel 1 exit /b 1 diff --git a/packaging/torchtext/build.sh b/packaging/torchtext/build.sh index 5888bd687f..e2b53ddcf4 100644 --- a/packaging/torchtext/build.sh +++ b/packaging/torchtext/build.sh @@ -1,5 +1,4 @@ #!/usr/bin/env bash set -ex -git submodule update --init --recursive python setup.py install --single-version-externally-managed --record=record.txt From 1656d824912010df61231e5610f718d8476b91d7 Mon Sep 17 00:00:00 2001 From: moto <855818+mthrok@users.noreply.github.com> Date: Thu, 23 Jun 2022 10:20:58 -0700 Subject: [PATCH 3/3] lint --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a57cfff985..2425a39f6f 100644 --- a/setup.py +++ b/setup.py @@ -2,9 +2,9 @@ import distutils.command.clean import io import os -import sys import shutil import subprocess +import sys from pathlib import Path from build_tools import setup_helpers