pulp/pulp-cli

Pip install failure due to upstream PyYAML issue

Closed this issue · 0 comments

Summary

It seems that there is an issue upstream between PyYAML and cython that breaks installation of the CLI. PyYAML > 6 does not run into this issue during installation but this pip wants 5.4.1 (which is the problematic version).

Steps to reproduce

  1. Run pip install pulp-cli.
  2. Get an error.

Expected behavior

The pip should install. Manually installing an older PyYAML (such as 5.3.1) and then pulp-cli succeeds.

Stacktrace/Error log

root@d7f092be5f33:/# pip install pulp-cli                                                                                                                                                                          
Collecting pulp-cli                                                                                                                                                                                                
  Using cached pulp_cli-0.20.1-py3-none-any.whl (104 kB)                                                                                                                                                           
Collecting pulp-glue==0.20.1 (from pulp-cli)                                                                                                                                                                       
  Using cached pulp_glue-0.20.1-py3-none-any.whl (29 kB)                                                                                                                                                           
Collecting click<8.1.4,>=8.0.0 (from pulp-cli)                                                                                                                                                                     
  Using cached click-8.1.3-py3-none-any.whl (96 kB)                                                                                                                                                                
Collecting PyYAML~=5.3 (from pulp-cli)
  Using cached PyYAML-5.4.1.tar.gz (175 kB)                                                                                                                                                                        
  Installing build dependencies ... done
  Getting requirements to build wheel ... 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-_36qxj17/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-_36qxj17/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-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-_36qxj17/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-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 314, in run
          self.find_sources()
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
          mm.run()
        File "/tmp/pip-build-env-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 551, in run
          self.add_defaults()
        File "/tmp/pip-build-env-_36qxj17/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-_36qxj17/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
          super().add_defaults()
        File "/tmp/pip-build-env-_36qxj17/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-_36qxj17/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-_36qxj17/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.

Pulp and pulp-cli version info

N/A

Additonal context

None