前言
将一个Python项目部署到一个docker容器中的时候报的错
报错信息
> [8/9] RUN pip install --ignore-installed PyYAML==5.4:
2.895 Collecting PyYAML==5.4
3.110 Downloading PyYAML-5.4.tar.gz (174 kB)
3.329 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 174.8/174.8 kB 769.2 kB/s eta 0:00:00
3.526 Installing build dependencies: started
11.52 Installing build dependencies: finished with status 'done'
11.53 Getting requirements to build wheel: started
11.93 Getting requirements to build wheel: finished with status 'error'
11.94 error: subprocess-exited-with-error
11.94
11.94 × Getting requirements to build wheel did not run successfully.
11.94 │ exit code: 1
11.94 ╰─> [54 lines of output]
11.94 running egg_info
11.94 writing lib3/PyYAML.egg-info/PKG-INFO
11.94 writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
11.94 writing top-level names to lib3/PyYAML.egg-info/top_level.txt
11.94 Traceback (most recent call last):
11.94 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
11.94 main()
11.94 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
11.94 json_out['return_val'] = hook(**hook_input['kwargs'])
11.94 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11.94 File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
11.94 return hook(config_settings)
11.94 ^^^^^^^^^^^^^^^^^^^^^
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
11.94 return self._get_build_requires(config_settings, requirements=[])
11.94 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 304, in _get_build_requires
11.94 self.run_setup()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 320, in run_setup
11.94 exec(code, locals())
11.94 File "<string>", line 271, in <module>
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/__init__.py", line 117, in setup
11.94 return distutils.core.setup(**attrs)
11.94 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/core.py", line 186, in setup
11.94 return run_commands(dist)
11.94 ^^^^^^^^^^^^^^^^^^
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/core.py", line 202, in run_commands
11.94 dist.run_commands()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 983, in run_commands
11.94 self.run_command(cmd)
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/dist.py", line 999, in run_command
11.94 super().run_command(command)
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_command
11.94 cmd_obj.run()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/command/egg_info.py", line 312, in run
11.94 self.find_sources()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/command/egg_info.py", line 320, in find_sources
11.94 mm.run()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/command/egg_info.py", line 543, in run
11.94 self.add_defaults()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/command/egg_info.py", line 581, in add_defaults
11.94 sdist.add_defaults(self)
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/command/sdist.py", line 109, in add_defaults
11.94 super().add_defaults()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/command/sdist.py", line 239, in add_defaults
11.94 self._add_defaults_ext()
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/command/sdist.py", line 324, in _add_defaults_ext
11.94 self.filelist.extend(build_ext.get_source_files())
11.94 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11.94 File "<string>", line 201, in get_source_files
11.94 File "/tmp/pip-build-env-kr199hnv/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py", line 120, in __getattr__
11.94 raise AttributeError(attr)
11.94 AttributeError: cython_sources
11.94 [end of output]
11.94
11.94 note: This error originates from a subprocess, and is likely not a problem with pip.
11.95 error: subprocess-exited-with-error
11.95
11.95 × Getting requirements to build wheel did not run successfully.
11.95 │ exit code: 1
11.95 ╰─> See above for output.
11.95
11.95 note: This error originates from a subprocess, and is likely not a problem with pip.
解决方案
修改PyYAML库的版本,
从5.4版本降低到5.2版本即可