maingopy is Not Installable Using Poetry Due to Non-Compliance with PEP 517
When attempting to install the maingopy package (version 0.8.1) using Poetry, the installation fails due to an issue related to PEP 517 compliance. The error message indicates that the build process for maingopy is not successful because it requires the skbuild module, which is not present, leading to a ModuleNotFoundError. This issue occurs during the get_requires_for_build_wheel step in the build process, which is managed by the backend specified in the package's pyproject.toml.
Steps to Reproduce:
- Run the command
poetry add maingopy. - Poetry attempts to resolve dependencies and install the package.
- The installation fails with the following error message:
Using version ^0.8.1 for maingopy
Updating dependencies
Resolving dependencies... (11.3s)
Package operations: 2 installs, 0 updates, 0 removals
- Installing maingopy (0.8.1): Failed
ChefBuildError
Backend subprocess exited when trying to invoke get_requires_for_build_wheel
Traceback (most recent call last):
File "<string>", line 7, in <module>
ModuleNotFoundError: No module named 'skbuild'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/poetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
main()
File "/opt/poetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
File "/opt/poetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 134, in get_requires_for_build_wheel
return hook(config_settings)
File "/tmp/tmp5353_es8/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
File "/tmp/tmp5353_es8/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
self.run_setup()
File "/tmp/tmp5353_es8/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
super().run_setup(setup_script=setup_script)
File "/tmp/tmp5353_es8/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
exec(code, locals())
File "<string>", line 9, in <module>
ImportError: Error during setup of maingopy: maingopy requires scikit-build, which is not available.
Analysis:
The error originates from the build backend during the installation process, indicating that maingopy version 0.8.1 is not fully compliant with PEP 517, which is the standard interface for building Python packages. The specific issue is that the package depends on scikit-build, which is not available or specified properly in the build dependencies, causing the installation to fail.
This issue is not directly related to Poetry but rather to how maingopy is packaged. A temporary workaround could be to ensure that scikit-build is manually installed in the environment before attempting to install maingopy. However, the root cause needs to be addressed within the maingopy package itself to fully comply with PEP 517.
Expected Behavior:
- The package should install successfully using Poetry without requiring manual intervention.
- The
pyproject.tomlofmaingopyshould correctly specify all necessary build dependencies to comply with PEP 517.