pyproject-hooks: Unable to `pip install .` on a setup.py-based project
I’m incorporating by reference this PIP issue: https://github.com/pypa/pip/issues/12131
(venv-test-3.12) bash-5.2$ ls -la
total 36
drwxr-xr-x 3 arcivanov arcivanov 81 Jul 5 16:58 .
drwxr-xr-x. 12 arcivanov arcivanov 4096 Jul 5 16:58 ..
-rwxr-xr-x 1 arcivanov arcivanov 8502 Jun 22 15:35 build.py
-rw-rw-r-- 1 arcivanov arcivanov 11344 Mar 1 2020 LICENSE
-rw-r--r-- 1 arcivanov arcivanov 3004 Jun 22 15:36 README.md
-rw-rw-r-- 1 arcivanov arcivanov 1895 Aug 31 2021 setup.py
drwxr-xr-x 6 arcivanov arcivanov 76 Feb 1 2020 src
(venv-test-3.12) bash-5.2$ pip -vvvvvvvvvvvvv install .
Using pip 23.1.2 from /home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip (python 3.12)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-build-tracker-a_o8dsgw
Initialized build tracking at /tmp/pip-build-tracker-a_o8dsgw
Created build tracker: /tmp/pip-build-tracker-a_o8dsgw
Entered build tracker: /tmp/pip-build-tracker-a_o8dsgw
Created temporary directory: /tmp/pip-install-ifc8yem4
Created temporary directory: /tmp/pip-ephem-wheel-cache-lnikv5l9
Processing /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp
Added file:///home/arcivanov/Documents/src/pybuilder/pybuilder/tmp to build tracker '/tmp/pip-build-tracker-a_o8dsgw'
Created temporary directory: /tmp/pip-build-env-v01egvus
Running command pip subprocess to install build dependencies
Using pip 23.1.2 from /home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip (python 3.12)
Collecting setuptools>=40.8.0
Using cached setuptools-68.0.0-py3-none-any.whl (804 kB)
Collecting wheel
Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
Installing collected packages: wheel, setuptools
Creating /tmp/pip-build-env-v01egvus/overlay/bin
changing mode of /tmp/pip-build-env-v01egvus/overlay/bin/wheel to 755
Successfully installed setuptools-68.0.0 wheel-0.40.0
Installing build dependencies ... done
Running command Getting requirements to build wheel
PyBuilder version ${dist_version}
Build started at 2023-07-05 16:58:53
------------------------------------------------------------
[INFO] Building pybuilder version 0.13.10.dev (0.13.10.dev20230705205853)
[INFO] Executing build in /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp
[INFO] Going to execute tasks: clean, package
[INFO] Removing target directory /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target
[INFO] Processing plugin packages 'coverage>=6.0' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'cram' to be installed with {}
[INFO] Processing plugin packages 'flake8>=4.0' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'pdoc3>=0.8.3' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'pypandoc~=1.4' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'setuptools>=38.6.0' to be installed with {}
[INFO] Processing plugin packages 'sphinx' to be installed with {}
[INFO] Processing plugin packages 'twine>=1.15.0' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'unittest-xml-reporting>=3.0.4' to be installed with {'upgrade': True}
[INFO] Processing plugin packages 'wheel>=0.34.0' to be installed with {}
[INFO] Creating target 'build' VEnv in '/home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/venv/build/cpython-3.12.0.beta.3'
[INFO] Processing dependency packages 'pygments' to be installed with {}
[INFO] Creating target 'test' VEnv in '/home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/venv/test/cpython-3.12.0.beta.3'
[INFO] Building distribution in /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev
[INFO] Copying scripts to /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev/scripts
[INFO] Copying resources matching 'LICENSE' from /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp to /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev/pybuilder
[INFO] Writing MANIFEST.in as /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev/MANIFEST.in
[INFO] Writing setup.py as /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev/setup.py
[INFO] Filter resources matching pybuilder/__init__.py in /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp/target/dist/pybuilder-0.13.10.dev
------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------
Build Summary
Project: pybuilder
Version: 0.13.10.dev (0.13.10.dev20230705205853)
Base directory: /home/arcivanov/Documents/src/pybuilder/pybuilder/tmp
Environments:
Tasks: clean [0 ms] prepare [16075 ms] compile_sources [0 ms] package [79 ms]
Build finished at 2023-07-05 16:59:09
Build took 16 seconds (16370 ms)
running egg_info
creating pybuilder.egg-info
writing pybuilder.egg-info/PKG-INFO
writing dependency_links to pybuilder.egg-info/dependency_links.txt
writing entry points to pybuilder.egg-info/entry_points.txt
writing namespace_packages to pybuilder.egg-info/namespace_packages.txt
writing top-level names to pybuilder.egg-info/top_level.txt
writing manifest file 'pybuilder.egg-info/SOURCES.txt'
reading manifest file 'pybuilder.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'pybuilder.egg-info/SOURCES.txt'
Getting requirements to build wheel ... done
ERROR: Could not install packages due to an OSError.
Traceback (most recent call last):
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve
collected = self.factory.collect_root_requirements(root_reqs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 491, in collect_root_requirements
req = self._make_requirement_from_install_req(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 453, in _make_requirement_from_install_req
cand = self._make_candidate_from_link(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 293, in __init__
super().__init__(
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 516, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 631, in _prepare_linked_requirement
dist = _get_prepared_distribution(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 48, in prepare_distribution_metadata
self._install_build_reqs(finder)
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 118, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 95, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_internal/utils/misc.py", line 692, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 166, in get_requires_for_build_wheel
return self._call_hook('get_requires_for_build_wheel', {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 317, in _call_hook
data = read_json(pjoin(td, 'output.json'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/arcivanov/.pyenv/versions/3.12.0b3/envs/venv-test-3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 19, in read_json
with open(path, encoding='utf-8') as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmptnjziu_l/output.json'
Remote version of pip: 23.1.2
Local version of pip: 23.1.2
Was pip installed by pip? True
Removed file:///home/arcivanov/Documents/src/pybuilder/pybuilder/tmp from build tracker '/tmp/pip-build-tracker-a_o8dsgw'
Removed build tracker: '/tmp/pip-build-tracker-a_o8dsgw'
Since this is a pure setup.py
there is no pyproject.toml
involved and legacy should keep functioning.
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 31 (16 by maintainers)
Commits related to this issue
- Add debug printouts for pypa/pyproject-hooks#173 — committed to arcivanov/pybuilder by arcivanov a year ago
I’m just writing an issue for them