-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Greetings,
I am trying to make my project depend on iocage. Since iocage is not on PyPI, I tried to use it using the "name @ URI" syntax, i.e.,
[project]
# ...
dependencies = [
# ...
"iocage @ git+https://github.com/freebsd/[email protected]",
]
However, pip install -e .
fails with:
Obtaining file:///home/ab/remote-work/cage2jail
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build editable ... done
Installing backend dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> [85 lines of output]
Collecting iocage@ git+https://github.com/freebsd/[email protected]
Cloning https://github.com/freebsd/iocage.git (to revision 1.10) to /tmp/pip-install-cn7k9ak6/iocage_5913cdd155f844c7a58e9a93e0cdd32d
Running command git clone --filter=blob:none --quiet https://github.com/freebsd/iocage.git /tmp/pip-install-cn7k9ak6/iocage_5913cdd155f844c7a58e9a93e0cdd32d
Running command git checkout -q cb6d357587e31fd69c58b57b41c1031981d4ae9f
Resolved https://github.com/freebsd/iocage.git to commit cb6d357587e31fd69c58b57b41c1031981d4ae9f
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 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [59 lines of output]
/tmp/pip-install-cn7k9ak6/iocage_5913cdd155f844c7a58e9a93e0cdd32d/fastentrypoints.py:73: SetuptoolsDeprecationWarning: easy_install module is deprecated
!!
********************************************************************************
Avoid accessing attributes of setuptools.command.easy_install.
By 2025-Oct-31, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://github.com/pypa/setuptools/issues/4976 for details.
********************************************************************************
!!
easy_install.ScriptWriter.get_args = get_args
/tmp/pip-build-env-9va5p6b9/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require'
warnings.warn(msg)
fastentrypoints
running dist_info
creating /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info
writing /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/dependency_links.txt
writing entry points to /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/entry_points.txt
writing requirements to /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_lib.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-d3hdmy7t/iocage_lib-1.10.dist-info'
running dist_info
creating /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info
writing /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/dependency_links.txt
writing entry points to /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/entry_points.txt
writing requirements to /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-modern-metadata-d3hdmy7t/iocage_cli.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-d3hdmy7t/iocage_cli-1.10.dist-info'
Traceback (most recent call last):
File "/home/ab/venvs/cage2jail/py3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
main()
File "/home/ab/venvs/cage2jail/py3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ab/venvs/cage2jail/py3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 175, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-9va5p6b9/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 376, in prepare_metadata_for_build_wheel
self._bubble_up_info_directory(metadata_directory, ".egg-info")
File "/tmp/pip-build-env-9va5p6b9/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 345, in _bubble_up_info_directory
info_dir = self._find_info_directory(metadata_directory, suffix)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-9va5p6b9/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 356, in _find_info_directory
assert len(candidates) == 1, f"Multiple {suffix} directories found"
^^^^^^^^^^^^^^^^^^^^
AssertionError: Multiple .egg-info directories found
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install backend dependencies 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.
Manually trying to install dependency using the name @ URI syntax, i.e., pip install 'iocage @ git+https://github.com/freebsd/[email protected]'
fails with similar errors.
FWIW, it seems that one .egg-info
directory is generated for each top-level package (iocage_cli
and iocage_lib
). According to pypa/pip#8201, one setup.py creating two distribution packages is not supported.
Metadata
Metadata
Assignees
Labels
No labels