Skip to content

Installing sotodlib via VCS w/pinned 3.8 version is broken in Python 3.12 #1035

@BrianJKoopman

Description

@BrianJKoopman

In Python 3.12 our installation of the old version of sotodlib that still supports Python 3.8 fails.

This isn't surprising. When we drop Python 3.7/3.8/3.9 support we should update the requirements file to remove this install from VCS and instead install from PyPI. That should resolve the issue.

Logs from an install:

Collecting sotodlib @ git+https://github.com/simonsobs/sotodlib.git@5d613d5915b1716c401abecb5446088bce5fc1a4 (from -r requirements.txt (line 48))
  Cloning https://github.com/simonsobs/sotodlib.git (to revision 5d613d5915b1716c401abecb5446088bce5fc1a4) to /tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe
  Running command git clone --filter=blob:none --quiet https://github.com/simonsobs/sotodlib.git /tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe
  Running command git rev-parse -q --verify 'sha^5d613d5915b1716c401abecb5446088bce5fc1a4'
  Running command git fetch -q https://github.com/simonsobs/sotodlib.git 5d613d5915b1716c401abecb5446088bce5fc1a4
  Running command git checkout -q 5d613d5915b1716c401abecb5446088bce5fc1a4
  Resolved https://github.com/simonsobs/sotodlib.git to commit 5d613d5915b1716c401abecb5446088bce5fc1a4
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [42 lines of output]
      <string>:10: SetuptoolsDeprecationWarning: The test command is disabled and references to it are deprecated.
      !!

              ********************************************************************************
              Please remove any references to `setuptools.command.test` in all supported versions of the affected package.

              This deprecation is overdue, please update your project and remove deprecated
              calls to avoid build errors in the future.
              ********************************************************************************

      !!
      /tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe/versioneer.py:564: SyntaxWarning: invalid escape sequence '\s'
        mo = re.search(r'=\s*"(.*)"', line)
      Traceback (most recent call last):
        File "/opt/hostedtoolcache/Python/3.12.13/x64/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
        File "/opt/hostedtoolcache/Python/3.12.13/x64/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/hostedtoolcache/Python/3.12.13/x64/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-vuk3sr0b/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-vuk3sr0b/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-vuk3sr0b/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 520, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-vuk3sr0b/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
        File "<string>", line 39, in <module>
        File "/tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe/versioneer.py", line 1480, in get_version
          return get_versions()["version"]
                 ^^^^^^^^^^^^^^
        File "/tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe/versioneer.py", line 1412, in get_versions
          cfg = get_config_from_root(root)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-install-fax400b9/sotodlib_64652bf670cc409a88d0610da60b8ffe/versioneer.py", line 342, in get_config_from_root
          parser = configparser.SafeConfigParser()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: module 'configparser' has no attribute 'SafeConfigParser'. Did you mean: 'RawConfigParser'?
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'sotodlib' when getting requirements to build wheel
Error: Process completed with exit code 1.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions