Skip to content

[BUG] PyYAML<=6 dependency install issue due to Cython 3.0.0 release #10836

@Ginkooo

Description

@Ginkooo

Description

Hey, I've just had an issue when doing pip install docker-compose. The output below:

pip install docker-compose

Collecting docker-compose

  Downloading docker_compose-1.29.2-py2.py3-none-any.whl (114 kB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.8/114.8 kB 4.5 MB/s eta 0:00:00

Collecting PyYAML<6,>=3.10 (from docker-compose)

  Downloading PyYAML-5.4.1.tar.gz (175 kB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 50.2 MB/s eta 0:00:00

  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

  ╰─> [68 lines of output]

      /tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`

      !!

      

              ********************************************************************************

              The license_file parameter is deprecated, use license_files instead.

      

              By 2023-Oct-30, you need to update your project and remove deprecated calls

              or your builds will no longer be supported.

      

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.

              ********************************************************************************

      

      !!

        parsed = self.parsers.get(option_name, lambda x: x)(value)

      running egg_info

      writing lib3/PyYAML.egg-info/PKG-INFO

      writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt

      writing top-level names to lib3/PyYAML.egg-info/top_level.txt

      Traceback (most recent call last):

        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>

          main()

        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main

          json_out['return_val'] = hook(**hook_input['kwargs'])

                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel

          return hook(config_settings)

                 ^^^^^^^^^^^^^^^^^^^^^

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel

          return self._get_build_requires(config_settings, requirements=['wheel'])

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires

          self.run_setup()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup

          exec(code, locals())

        File "<string>", line 271, in <module>

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup

          return distutils.core.setup(**attrs)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup

          return run_commands(dist)

                 ^^^^^^^^^^^^^^^^^^

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands

          dist.run_commands()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands

          self.run_command(cmd)

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command

          super().run_command(command)

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command

          cmd_obj.run()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 314, in run

          self.find_sources()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 322, in find_sources

          mm.run()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 551, in run

          self.add_defaults()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults

          sdist.add_defaults(self)

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add_defaults

          super().add_defaults()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults

          self._add_defaults_ext()

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext

          self.filelist.extend(build_ext.get_source_files())

                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        File "<string>", line 201, in get_source_files

        File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__

          raise AttributeError(attr)

      AttributeError: cython_sources

      [end of output]

  

  note: This error originates from a subprocess, and is likely not a problem with pip.

error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.

│ exit code: 1

╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

[notice] A new release of pip is available: 23.1.2 -> 23.2

[notice] To update, run: pip install --upgrade pip

The issue is related to this PyYAML issue: yaml/pyyaml#724.

The PyYAML version 6.0.1 has the fix, but pip install docker-compose tries to install PyYAML < 6.0.

Could we bump the PyYAML version?

Steps To Reproduce

No response

Compose Version

No response

Docker Environment

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions