Skip to content

pip doesn't check out submodules when .gitmodules is present #6586

@ghost

Description

Environment

  • pip version: 19.1.1
  • Python version: 3.7.3
  • OS: Fedora Linux

Description
pip doesn't appear to be checking out submodules when .gitmodules is present (git submodule init) and when installing from a git repo like this: pip3 install --user -U "sfxscan @ https://github.com/JonasT/sfxscan/archive/master.zip#". However, I have seen mentions that it is supposed to be initializing the submodules properly, so I'm wondering whether this is a bug? Is it related to this being a https URL maybe? Should this really make such a difference to a git url, when clearly .git and .gitmodules are easily present & detectable in that archive?

Expected behavior
pip initializes submodules and proceeds with install successfully

How to Reproduce

  1. pip3 install --user -U "sfxscan @ https://github.com/JonasT/sfxscan/archive/master.zip#

Output

Collecting sfxscan@ https://github.com/JonasT/sfxscan/archive/master.zip# from https://github.com/JonasT/sfxscan/archive/master.zip
  Downloading https://github.com/JonasT/sfxscan/archive/master.zip
     - 133kB 7.8MB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: sfxscan
  Building wheel for sfxscan (PEP 517) ... error
  ERROR: Complete output from command /usr/bin/python3 /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpnjnw8edv:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.7
  creating build/lib.linux-x86_64-3.7/sfxscan
  copying sfxscan/__init__.py -> build/lib.linux-x86_64-3.7/sfxscan
  running build_ext
  Traceback (most recent call last):
    File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 207, in <module>
      main()
    File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 197, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 141, in build_wheel
      metadata_directory)
    File "/tmp/pip-build-env-ip56u3xo/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 192, in build_wheel
      self.run_setup()
    File "/tmp/pip-build-env-ip56u3xo/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 141, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 147, in <module>
      ] + cython_extensions(),
    File "/tmp/pip-build-env-ip56u3xo/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib64/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib64/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib64/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-ip56u3xo/overlay/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "/usr/lib64/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib64/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/lib64/python3.7/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib64/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib64/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "setup.py", line 29, in run
      str(os.path.join(vendor_taglib_dir, "CMakeLists.txt"))
  RuntimeError: did you use git submodule init? got missing taglib CMakeLists.txt at: /tmp/pip-install-t6h5li8e/sfxscan/vendor/taglib/CMakeLists.txt
  ----------------------------------------
  ERROR: Failed building wheel for sfxscan
  Running setup.py clean for sfxscan
Failed to build sfxscan
ERROR: Could not build wheels for sfxscan which use PEP 517 and cannot be installed directl

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: vcspip's interaction with version control systems like git, svn and bzrauto-lockedOutdated issues that have been locked by automationtype: supportUser Support

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions