-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Labels
C: PEP 517 impactAffected by PEP 517 processingAffected by PEP 517 processingkind: crashFor situations where pip crashesFor situations where pip crashesstate: needs discussionThis needs some more discussionThis needs some more discussion
Description
Environment
- pip version: 19.0.3 (also present in 19.1.1)
- Python version: 3.7.3
- OS: ArcoLinux (Arch)
Description
After adding pyproject.toml
(even an empty one) to my project I noticed that installation of my project in editable mode with pip
started to fail. After some investigation it turned out that having sys.exit
inside setup.py
causes the problem.
Expected behavior
Executing everything from reproduce steps should not raise an error or if this behavior is indeed intended, better describe the issue.
How to Reproduce
- Create new project directory
- Create
pyproject.toml
inside the project directory with any content (even empty) - Create
setup.py
inside the project directory with following content:
import sys
from setuptools import setup
def main():
setup()
if __name__ == '__main__':
sys.exit(main())
- Execute
pip install -e .
inside the project directory
Workaround
Removing sys.exit
from main entry point resolves the issue:
from setuptools import setup
def main():
setup()
if __name__ == '__main__':
main()
Output
Running command /home/krprzyby/PycharmProjects/pep517/venv/bin/python /home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpjpen2vq1
running egg_info
creating UNKNOWN.egg-info
writing UNKNOWN.egg-info/PKG-INFO
writing dependency_links to UNKNOWN.egg-info/dependency_links.txt
writing top-level names to UNKNOWN.egg-info/top_level.txt
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest file 'UNKNOWN.egg-info/SOURCES.txt'
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
Getting requirements to build wheel ... done
ERROR: Could not install packages due to an EnvironmentError.
Traceback (most recent call last):
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 352, in run
resolver.resolve(requirement_set)
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/resolve.py", line 131, in resolve
self._resolve_one(requirement_set, req)
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/resolve.py", line 294, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/resolve.py", line 226, in _get_abstract_dist_for
req, self.require_hashes, self.use_user_site, self.finder,
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 395, in prepare_editable_requirement
abstract_dist.prep_for_dist(finder, self.build_isolation)
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 169, in prep_for_dist
self.install_backend_dependencies(finder=finder)
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 123, in install_backend_dependencies
reqs = req.pep517_backend.get_requires_for_build_wheel()
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_vendor/pep517/wrappers.py", line 71, in get_requires_for_build_wheel
'config_settings': config_settings
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_vendor/pep517/wrappers.py", line 158, in _call_hook
data = compat.read_json(pjoin(td, 'output.json'))
File "/home/krprzyby/PycharmProjects/pep517/venv/lib/python3.7/site-packages/pip/_vendor/pep517/compat.py", line 12, in read_json
with open(path, 'r', encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpjpen2vq1/output.json'
cgebbe
Metadata
Metadata
Assignees
Labels
C: PEP 517 impactAffected by PEP 517 processingAffected by PEP 517 processingkind: crashFor situations where pip crashesFor situations where pip crashesstate: needs discussionThis needs some more discussionThis needs some more discussion