-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solving issues related to out-of-tree builds #7555
Comments
Looking at this from the back-end's perspective, the idea of an "out of tree build" is actually meaningless. The back end is given a "source tree" in the form of the current directory of the process, and is asked to execute a build. It's got no way of knowing whether that directory was extracted from a sdist, checked out of a VCS, or copied from somewhere else. All it can do is build, and if it doesn't have what it needs to build, report failure. So that pretty much kills possible solution (3) IMO - the backend doesn't have a concept of what an in-place build is, so it can't say whether such a build is safe1. As regards (2), I'm generally opposed to additional options like this. If we know what the best thing to do is, we should do it, and if we don't, then passing the problem onto the user is not a particularly friendly option. The issue here is subtle enough that I would expect few users to know what the correct choice is, so we'd likely see people just trying the 2 options and blindly using "whatever works". Also, the support implications are significant - offering an option clearly implies that we expect the build results to be different in at least some cases, so how do we test that the differences are as we'd expect? Are we responsible for educating users on when the in-place build flag would be needed or not (either via our documentation, or as a result of issues being raised by users who don't know which to use)? Having said that, I'm not against pip simply building in place. I believe the reason we don't is because we had cases where artifacts left over from a previous build were used in a subsequent build, but were built with different options (for example, object files built in debug mode being linked into a release build done from the same tree). It is, however, reasonable to say that backends should ensure that issues like this don't happen, and if they do, it's a backend bug and not up to pip to try to defend against it. However, I'm not sure if taking such a stance is particularly user friendly - this came up during the PEP 517 discussions under the topic of incremental builds, and was controversial enough that it was deferred at the time. My preference has been to build a sdist, and then build the wheel from that, for a long time now (your option 1). I'm OK with pip building in place (if we can agree that doing so is safe, given that as I noted above, we can't expect the back-end to let us know), but I think that would need a community discussion to thrash out the wider implications (on backends, pip/frontends and end users). 1 It would of course be possible to update PEP 517 to define what constitutes an "in-place" source tree as opposed to an "out of tree" build, but I suspect that would be a very difficult concept to pin down. |
I added solutions 4. (Change pip to always build in place) and 5. (Change pip to build in place by default with an option to build out-of-tree). |
I've mixed feelings regarding building via sdist (solution 1.) for the following reasons:
This post on discuss also summarizes similar arguments. I agree the path for solution 3. is far from obvious. I also agree we should avoid additional options if we can. I also note there were some voices in favor of in-place builds in the linked discuss thread, but indeed a focused community discussion on that specific subject is necessary if we want to explore that approach. |
I think this is a good approach. IMO chances are, this would be run for a single package in most Here's what I think this behavior should be:
Doing local-dir -> sdist -> wheel, we do have an additional set of calls. However, I do think it's reasonable to to validate that generated sdists are sane, especially during development. tox already does this as part of its workflow, check-manifest to cover for setuptools' not-so-friendly interfaces here. Overall, I do think the costs of building an sdist when given a local directory are worth it to prevent such errors in projects, especially since folks installing from local directories are likely the developers of the project themselves. Regarding the rollout, I think we'd want to wait and watch how #6536 comes around. We'd definitely learn a few things that can be transferred over. |
I prefer building/installing in-place without sdist (so
Regardless of approach, the only issue I see with doing things in-place is that for setuptools builds (I think this applies for legacy and PEP 517) we would end up with |
Noting that I've grown to agree that the idea of skipping the sdist build and directly doing an in-tree build is a better approach for pip to take by default, and not trying to do local-dir -> sdist -> wheel. |
In Fedora, when we build Python RPM packages, we are dinosaurs and the standard way to do thins is to use Our build machinery is injecting some compiler flags so the build artifacts (
We don't particularly like the third step because it relies on too many implementation details:
If pip would always build in place or if there would be command line switch for this, the issue would go away. Downstream report: https://bugzilla.redhat.com/show_bug.cgi?id=1806625 |
I'm also becoming more inclined to accept the idea of doing an in-place wheel build. My remaining reservations are:
... and of course someone will need to write a PR implementing this change (with tests, docs, etc - the usual stuff) otherwise all we're doing is talking 🙂 |
Would it make sense to extend the PEP 517 interface to include a “clean” hook? We’d probably want it as some point anyway to enable other endeavours (e.g. implement editable install, building a package development tool that builds any PEP 517 project). pip can call it here to make sure there are no leftover junk before doing in-tree build. |
Maybe? But if pip automatically calls My inclination is to stick with my position "we need to be able to assume that it's the responsibility of the backend to ensure that in-place builds work correctly". Even if that turns out to be untenable, getting concrete examples of why it doesn't work will help us better understand what to do about the issue, rather than just guessing. |
I'd be tempted to extend PEP-517 to make this an explicit requirement. |
It already says this:
It's not so much that backends are likely to violate this requirement deliberately, as that users will naturally report the issue as a pip issue, and get redirected to the backend project, which is a bit of extra overhead. |
When trying t figure a workaround for Fedora, we've been hit by #7872 |
During a build of extension module within `pip wheel` the source directory is recursively copied in a temporary directory. See pypa#7555 When the temporary directory is inside the source directory (for example by setting `TMPDIR=$PWD/tmp`) this caused an infinite recursion that ended in: [Errno 36] File name too long We prevent that buy never copying the target to the target in _copy_source_tree. Fixes pypa#7872
Since we have resolved the ".egg-info in cwd" issue with #7731 and friends, that is one less thing to worry about when building in place. |
So option 4 (always build in place) was implemented in #7882 . |
We have now (per #7951) published a beta release of pip, pip 20.1b1. This release includes #7882, which implemented a solution for this issue. I hope participants in this issue will help us by testing the beta and checking for new bugs. We'd like to identify and iron out any potential issues before the main 20.1 release on Tuesday. I also welcome positive feedback along the lines of "yay, it works better now!" as well, since the issue tracker is usually full of "issues". :) |
We totally plan to test it out in Fedora (we already planned that before your comment), however the Tuesday deadline is probably not realistic. |
@hroncok Any idea by when Fedora might be able to test out these changes? |
I'll try our best to do it somehow on Monday, however I cannot make any promises. |
Indeed, 20.1b1 makes our problems go away. More general 20.1b1 feedback in https://mail.python.org/archives/list/[email protected]/message/5EAUIYYIRKXEHTAG5GQ7EJHSXGZIW2F7/ |
This is required for the setuptools_scm package to correctly identify the root of the git repository when installing from the requirements.txt file in the root. It'd otherwise copy the source directory, which doesn't yet include the version metadata, into a separate directory and the building from there, which breaks the git lookup. `in-tree-build` is the future default, so we'll eventually be able to strip that option again. See [1] for details. [1] pypa/pip#7555
This is required for the setuptools_scm package to correctly identify the root of the git repository when installing from the requirements.txt file in the root. It'd otherwise copy the source directory, which doesn't yet include the version metadata, into a separate directory and the building from there, which breaks the git lookup. `in-tree-build` is the future default, so we'll eventually be able to strip that option again. See [1] for details. [1] pypa/pip#7555
This is required for the setuptools_scm package to correctly identify the root of the git repository when installing from the requirements.txt file in the root. It'd otherwise copy the source directory, which doesn't yet include the version metadata, into a separate directory and the building from there, which breaks the git lookup. `in-tree-build` is the future default, so we'll eventually be able to strip that option again. See [1] for details. [1] pypa/pip#7555
see: flakehell/flakehell#19 Error log: ``` [INFO] Installing environment for https://github.com/flakehell/flakehell. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... An unexpected error has occurred: CalledProcessError: command: ('/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python', '-mpip', 'install', '.') return code: 1 expected return code: 0 stdout: Processing /home/runner/.cache/pre-commit/repon2u8h4ar 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' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'error' stderr: DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. ERROR: Command errored out with exit status 1: command: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm cwd: /tmp/pip-req-build-7fx4ywsx Complete output (36 lines): Traceback (most recent call last): File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module> main() File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 151, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/buildapi.py", line 49, in prepare_metadata_for_build_wheel metadata = make_metadata(module, ini_info) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 392, in make_metadata md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata)) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 189, in get_info_from_module docstring, version = get_docstring_and_version_via_import(target) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 165, in get_docstring_and_version_via_import m = sl.load_module() File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper File "<frozen importlib._bootstrap_external>", line 1029, in load_module File "<frozen importlib._bootstrap_external>", line 854, in load_module File "<frozen importlib._bootstrap>", line 274, in _load_module_shim File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/tmp/pip-req-build-7fx4ywsx/flakehell/__init__.py", line 5, in <module> from ._cli import entrypoint, flake8_entrypoint File "/tmp/pip-req-build-7fx4ywsx/flakehell/_cli.py", line 9, in <module> from .commands import COMMANDS File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/__init__.py", line 5, in <module> from ._baseline import baseline_command File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/_baseline.py", line 6, in <module> from .._patched import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/__init__.py", line 2, in <module> from ._app import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/_app.py", line 10, in <module> from flake8.options.config import MergedConfigParser, get_local_plugins ImportError: cannot import name 'MergedConfigParser' from 'flake8.options.config' (/tmp/pip-build-env-0s2_gtp1/normal/lib/python3.9/site-packages/flake8/options/config.py) ---------------------------------------- WARNING: Discarding file:///home/runner/.cache/pre-commit/repon2u8h4ar. Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. ERROR: Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. Check the log at /home/runner/.cache/pre-commit/pre-commit.log ERROR: InvocationError for command /home/runner/work/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/.tox/precommit/bin/pre-commit run -vv --all-files --color always (exited with code 3) ___________________________________ summary ____________________________________ ERROR: precommit: commands failed ```
see: flakehell/flakehell#19 Error log: ``` [INFO] Installing environment for https://github.com/flakehell/flakehell. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... An unexpected error has occurred: CalledProcessError: command: ('/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python', '-mpip', 'install', '.') return code: 1 expected return code: 0 stdout: Processing /home/runner/.cache/pre-commit/repon2u8h4ar 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' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'error' stderr: DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. ERROR: Command errored out with exit status 1: command: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm cwd: /tmp/pip-req-build-7fx4ywsx Complete output (36 lines): Traceback (most recent call last): File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module> main() File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 151, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/buildapi.py", line 49, in prepare_metadata_for_build_wheel metadata = make_metadata(module, ini_info) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 392, in make_metadata md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata)) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 189, in get_info_from_module docstring, version = get_docstring_and_version_via_import(target) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 165, in get_docstring_and_version_via_import m = sl.load_module() File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper File "<frozen importlib._bootstrap_external>", line 1029, in load_module File "<frozen importlib._bootstrap_external>", line 854, in load_module File "<frozen importlib._bootstrap>", line 274, in _load_module_shim File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/tmp/pip-req-build-7fx4ywsx/flakehell/__init__.py", line 5, in <module> from ._cli import entrypoint, flake8_entrypoint File "/tmp/pip-req-build-7fx4ywsx/flakehell/_cli.py", line 9, in <module> from .commands import COMMANDS File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/__init__.py", line 5, in <module> from ._baseline import baseline_command File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/_baseline.py", line 6, in <module> from .._patched import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/__init__.py", line 2, in <module> from ._app import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/_app.py", line 10, in <module> from flake8.options.config import MergedConfigParser, get_local_plugins ImportError: cannot import name 'MergedConfigParser' from 'flake8.options.config' (/tmp/pip-build-env-0s2_gtp1/normal/lib/python3.9/site-packages/flake8/options/config.py) ---------------------------------------- WARNING: Discarding file:///home/runner/.cache/pre-commit/repon2u8h4ar. Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. ERROR: Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. Check the log at /home/runner/.cache/pre-commit/pre-commit.log ERROR: InvocationError for command /home/runner/work/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/.tox/precommit/bin/pre-commit run -vv --all-files --color always (exited with code 3) ___________________________________ summary ____________________________________ ERROR: precommit: commands failed ``` Original-Commit: TeoZosa/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd@13195c3
see: flakehell/flakehell#19 Error log: ``` [INFO] Installing environment for https://github.com/flakehell/flakehell. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... An unexpected error has occurred: CalledProcessError: command: ('/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python', '-mpip', 'install', '.') return code: 1 expected return code: 0 stdout: Processing /home/runner/.cache/pre-commit/repon2u8h4ar 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' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'error' stderr: DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. ERROR: Command errored out with exit status 1: command: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm cwd: /tmp/pip-req-build-7fx4ywsx Complete output (36 lines): Traceback (most recent call last): File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module> main() File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 151, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/buildapi.py", line 49, in prepare_metadata_for_build_wheel metadata = make_metadata(module, ini_info) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 392, in make_metadata md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata)) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 189, in get_info_from_module docstring, version = get_docstring_and_version_via_import(target) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 165, in get_docstring_and_version_via_import m = sl.load_module() File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper File "<frozen importlib._bootstrap_external>", line 1029, in load_module File "<frozen importlib._bootstrap_external>", line 854, in load_module File "<frozen importlib._bootstrap>", line 274, in _load_module_shim File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/tmp/pip-req-build-7fx4ywsx/flakehell/__init__.py", line 5, in <module> from ._cli import entrypoint, flake8_entrypoint File "/tmp/pip-req-build-7fx4ywsx/flakehell/_cli.py", line 9, in <module> from .commands import COMMANDS File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/__init__.py", line 5, in <module> from ._baseline import baseline_command File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/_baseline.py", line 6, in <module> from .._patched import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/__init__.py", line 2, in <module> from ._app import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/_app.py", line 10, in <module> from flake8.options.config import MergedConfigParser, get_local_plugins ImportError: cannot import name 'MergedConfigParser' from 'flake8.options.config' (/tmp/pip-build-env-0s2_gtp1/normal/lib/python3.9/site-packages/flake8/options/config.py) ---------------------------------------- WARNING: Discarding file:///home/runner/.cache/pre-commit/repon2u8h4ar. Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. ERROR: Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. Check the log at /home/runner/.cache/pre-commit/pre-commit.log ERROR: InvocationError for command /home/runner/work/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/.tox/precommit/bin/pre-commit run -vv --all-files --color always (exited with code 3) ___________________________________ summary ____________________________________ ERROR: precommit: commands failed ```
see: flakehell/flakehell#19 Error log: ``` [INFO] Installing environment for https://github.com/flakehell/flakehell. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... An unexpected error has occurred: CalledProcessError: command: ('/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python', '-mpip', 'install', '.') return code: 1 expected return code: 0 stdout: Processing /home/runner/.cache/pre-commit/repon2u8h4ar 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' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'error' stderr: DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. ERROR: Command errored out with exit status 1: command: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm cwd: /tmp/pip-req-build-7fx4ywsx Complete output (36 lines): Traceback (most recent call last): File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module> main() File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 151, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/buildapi.py", line 49, in prepare_metadata_for_build_wheel metadata = make_metadata(module, ini_info) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 392, in make_metadata md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata)) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 189, in get_info_from_module docstring, version = get_docstring_and_version_via_import(target) File "/tmp/pip-build-env-0s2_gtp1/overlay/lib/python3.9/site-packages/flit_core/common.py", line 165, in get_docstring_and_version_via_import m = sl.load_module() File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper File "<frozen importlib._bootstrap_external>", line 1029, in load_module File "<frozen importlib._bootstrap_external>", line 854, in load_module File "<frozen importlib._bootstrap>", line 274, in _load_module_shim File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/tmp/pip-req-build-7fx4ywsx/flakehell/__init__.py", line 5, in <module> from ._cli import entrypoint, flake8_entrypoint File "/tmp/pip-req-build-7fx4ywsx/flakehell/_cli.py", line 9, in <module> from .commands import COMMANDS File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/__init__.py", line 5, in <module> from ._baseline import baseline_command File "/tmp/pip-req-build-7fx4ywsx/flakehell/commands/_baseline.py", line 6, in <module> from .._patched import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/__init__.py", line 2, in <module> from ._app import FlakeHellApplication File "/tmp/pip-req-build-7fx4ywsx/flakehell/_patched/_app.py", line 10, in <module> from flake8.options.config import MergedConfigParser, get_local_plugins ImportError: cannot import name 'MergedConfigParser' from 'flake8.options.config' (/tmp/pip-build-env-0s2_gtp1/normal/lib/python3.9/site-packages/flake8/options/config.py) ---------------------------------------- WARNING: Discarding file:///home/runner/.cache/pre-commit/repon2u8h4ar. Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. ERROR: Command errored out with exit status 1: /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/bin/python /home/runner/.cache/pre-commit/repon2u8h4ar/py_env-python3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp6kspbrcm Check the logs for full command output. Check the log at /home/runner/.cache/pre-commit/pre-commit.log ERROR: InvocationError for command /home/runner/work/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd/.tox/precommit/bin/pre-commit run -vv --all-files --color always (exited with code 3) ___________________________________ summary ____________________________________ ERROR: precommit: commands failed ``` Original-Commit: TeoZosa/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd@cf124b2
pip install . Processing /Users/psuedofinnish/git_repo/spmf DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. Collecting bayesianquilts@ git+https://github.com/mederrata/bayesianquilts.git Cloning https://github.com/mederrata/bayesianquilts.git to /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-install-36tu_ya6/bayesianquilts_5012914572444791ad4327f0220afd0a Running command git clone -q https://github.com/mederrata/bayesianquilts.git /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-install-36tu_ya6/bayesianquilts_5012914572444791ad4327f0220afd0a Resolved https://github.com/mederrata/bayesianquilts.git to commit c6b8ea17bb1d04107074bb12e525c496e4a247c9 Collecting dill>=0.3.1.1 Using cached dill-0.3.4-py2.py3-none-any.whl (86 kB) Collecting matplotlib>=3.1 Using cached matplotlib-3.4.3-cp39-cp39-macosx_10_9_x86_64.whl (7.2 MB) Collecting arviz>=0.10.0 Using cached arviz-0.11.4-py3-none-any.whl (1.6 MB) Collecting numpy>=1.17 Using cached numpy-1.21.2-cp39-cp39-macosx_10_9_x86_64.whl (17.0 MB) Collecting pandas<1.2.0,>=1.0.0 Using cached pandas-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl (10.3 MB) Collecting scipy>=1.4.1 Using cached scipy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl (32.8 MB) Collecting tensorflow>=2.4.0 Using cached tensorflow-2.6.0-cp39-cp39-macosx_10_11_x86_64.whl (199.0 MB) Collecting tensorflow-probability>=0.12.1 Using cached tensorflow_probability-0.14.1-py2.py3-none-any.whl (5.7 MB) Collecting tensorflow-addons>=0.12.0 Using cached tensorflow_addons-0.14.0-cp39-cp39-macosx_10_13_x86_64.whl (575 kB) Collecting packaging Using cached packaging-21.0-py3-none-any.whl (40 kB) Collecting typing-extensions<4,>=3.7.4.3 Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB) Requirement already satisfied: setuptools>=38.4 in ./venv/lib/python3.9/site-packages (from arviz>=0.10.0->mederrata-spmf==0.0.1) (57.4.0) Collecting netcdf4 Using cached netCDF4-1.5.7-cp39-cp39-macosx_10_9_x86_64.whl (4.0 MB) Collecting xarray>=0.16.1 Using cached xarray-0.19.0-py3-none-any.whl (827 kB) Collecting pyparsing>=2.2.1 Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting cycler>=0.10 Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) Collecting pillow>=6.2.0 Using cached Pillow-8.3.2-cp39-cp39-macosx_10_10_x86_64.whl (3.0 MB) Collecting python-dateutil>=2.7 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting kiwisolver>=1.0.1 Using cached kiwisolver-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl (61 kB) Collecting six Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting pytz>=2017.2 Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB) Collecting absl-py~=0.10 Using cached absl_py-0.14.1-py3-none-any.whl (131 kB) Collecting grpcio<2.0,>=1.37.0 Using cached grpcio-1.41.0-cp39-cp39-macosx_10_10_x86_64.whl (3.9 MB) Collecting clang~=5.0 Using cached clang-5.0.tar.gz (30 kB) Collecting tensorflow-estimator~=2.6 Using cached tensorflow_estimator-2.6.0-py2.py3-none-any.whl (462 kB) Collecting typing-extensions<4,>=3.7.4.3 Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting keras~=2.6 Using cached keras-2.6.0-py2.py3-none-any.whl (1.3 MB) Collecting keras-preprocessing~=1.1.2 Using cached Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB) Collecting h5py~=3.1.0 Using cached h5py-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB) Collecting termcolor~=1.1.0 Using cached termcolor-1.1.0.tar.gz (3.9 kB) Collecting astunparse~=1.6.3 Using cached astunparse-1.6.3-py2.py3-none-any.whl (12 kB) Requirement already satisfied: wheel~=0.35 in ./venv/lib/python3.9/site-packages (from tensorflow>=2.4.0->mederrata-spmf==0.0.1) (0.37.0) Collecting opt-einsum~=3.3.0 Using cached opt_einsum-3.3.0-py3-none-any.whl (65 kB) Collecting google-pasta~=0.2 Using cached google_pasta-0.2.0-py3-none-any.whl (57 kB) Collecting numpy>=1.17 Using cached numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl (15.6 MB) Collecting six Using cached six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting tensorboard~=2.6 Using cached tensorboard-2.6.0-py3-none-any.whl (5.6 MB) Collecting gast==0.4.0 Using cached gast-0.4.0-py3-none-any.whl (9.8 kB) Collecting wrapt~=1.12.1 Using cached wrapt-1.12.1.tar.gz (27 kB) Collecting flatbuffers~=1.12.0 Using cached flatbuffers-1.12-py2.py3-none-any.whl (15 kB) Collecting protobuf>=3.9.2 Using cached protobuf-3.18.1-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB) Collecting tensorboard-data-server<0.7.0,>=0.6.0 Using cached tensorboard_data_server-0.6.1-py3-none-macosx_10_9_x86_64.whl (3.5 MB) Collecting markdown>=2.6.8 Using cached Markdown-3.3.4-py3-none-any.whl (97 kB) Collecting werkzeug>=0.11.15 Using cached Werkzeug-2.0.2-py3-none-any.whl (288 kB) Collecting tensorboard-plugin-wit>=1.6.0 Using cached tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB) Collecting google-auth-oauthlib<0.5,>=0.4.1 Using cached google_auth_oauthlib-0.4.6-py2.py3-none-any.whl (18 kB) Collecting google-auth<2,>=1.6.3 Using cached google_auth-1.35.0-py2.py3-none-any.whl (152 kB) Requirement already satisfied: requests<3,>=2.21.0 in ./venv/lib/python3.9/site-packages (from tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2.26.0) Collecting pyasn1-modules>=0.2.1 Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) Collecting rsa<5,>=3.1.4 Using cached rsa-4.7.2-py3-none-any.whl (34 kB) Collecting cachetools<5.0,>=2.0.0 Using cached cachetools-4.2.4-py3-none-any.whl (10 kB) Collecting requests-oauthlib>=0.7.0 Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB) Collecting pyasn1<0.5.0,>=0.4.6 Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2021.10.8) Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (3.3) Requirement already satisfied: charset-normalizer~=2.0.0 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2.0.7) Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (1.26.7) Collecting oauthlib>=3.0.0 Using cached oauthlib-3.1.1-py2.py3-none-any.whl (146 kB) Collecting typeguard>=2.7 Using cached typeguard-2.13.0-py3-none-any.whl (17 kB) Collecting decorator Using cached decorator-5.1.0-py3-none-any.whl (9.1 kB) Collecting cloudpickle>=1.3 Using cached cloudpickle-2.0.0-py3-none-any.whl (25 kB) Collecting dm-tree Using cached dm_tree-0.1.6-cp39-cp39-macosx_10_14_x86_64.whl (95 kB) Collecting jax Using cached jax-0.2.22.tar.gz (776 kB) Collecting jaxlib Using cached jaxlib-0.1.72-cp39-none-macosx_10_9_x86_64.whl (44.1 MB) Collecting natsort Using cached natsort-7.1.1-py3-none-any.whl (35 kB) Collecting tqdm Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB) Collecting cftime Using cached cftime-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl (222 kB) Building wheels for collected packages: mederrata-spmf, clang, termcolor, wrapt, bayesianquilts, jax Building wheel for mederrata-spmf (setup.py) ... done Created wheel for mederrata-spmf: filename=mederrata_spmf-0.0.1-py3-none-any.whl size=11849 sha256=849f8a917f99c7d6aeb525805554951de6d25b2ede3f7d5fb3c7531ba68ee058 Stored in directory: /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-ephem-wheel-cache-t48whcux/wheels/e0/24/c6/9e5c18c271ea71c12b85be41b6bf40c7409cce1cf8c134eeb5 Building wheel for clang (setup.py) ... done Created wheel for clang: filename=clang-5.0-py3-none-any.whl size=30692 sha256=5555e1cf8cb334404c8722c1e5dee33144ec58a27673df42f6cb8cd7f9d169d0 Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/3a/ce/7a/27094f689461801c934296d07078773603663dfcaca63bb064 Building wheel for termcolor (setup.py) ... done Created wheel for termcolor: filename=termcolor-1.1.0-py3-none-any.whl size=4847 sha256=f8a2068c8913078bcb784f39c2296ed39b91a96b539fa38c742507b228f52627 Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/b6/0d/90/0d1bbd99855f99cb2f6c2e5ff96f8023fad8ec367695f7d72d Building wheel for wrapt (setup.py) ... done Created wheel for wrapt: filename=wrapt-1.12.1-cp39-cp39-macosx_11_0_x86_64.whl size=32856 sha256=cb38cbfd0ba82006e73eb83267c9da7ee2bc45745ab8fde52215a1d60780b7aa Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/98/23/68/efe259aaca055e93b08e74fbe512819c69a2155c11ba3c0f10 Building wheel for bayesianquilts (setup.py) ... done Created wheel for bayesianquilts: filename=bayesianquilts-0.0.6-py3-none-any.whl size=24180 sha256=af9409fdeef2184c5a018b0a130e3c0f0379a6bb983f9591fa3a21a54664711c Stored in directory: /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-ephem-wheel-cache-t48whcux/wheels/51/9d/a7/d49d7fa318720372b80b0f9bc6f1122b58262830a84d70dcf6 Building wheel for jax (setup.py) ... done Created wheel for jax: filename=jax-0.2.22-py3-none-any.whl size=890292 sha256=7d6ff6dc027545c6efe8288ff40ad194713038c5dd6f10b8805310b51a1cb0dd Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/01/28/1b/5d30b3b33d4fba11a21e17b9262042b200233bec10b696cbbe Successfully built mederrata-spmf clang termcolor wrapt bayesianquilts jax Installing collected packages: pyasn1, six, rsa, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, pytz, python-dateutil, numpy, google-auth, werkzeug, tensorboard-plugin-wit, tensorboard-data-server, pyparsing, protobuf, pillow, pandas, markdown, kiwisolver, grpcio, google-auth-oauthlib, cycler, cftime, absl-py, xarray, wrapt, typing-extensions, typeguard, termcolor, tensorflow-estimator, tensorboard, scipy, packaging, opt-einsum, netcdf4, matplotlib, keras-preprocessing, keras, h5py, google-pasta, gast, flatbuffers, dm-tree, decorator, cloudpickle, clang, astunparse, tqdm, tensorflow-probability, tensorflow-addons, tensorflow, natsort, jaxlib, jax, dill, arviz, bayesianquilts, mederrata-spmf Successfully installed absl-py-0.14.1 arviz-0.11.4 astunparse-1.6.3 bayesianquilts-0.0.6 cachetools-4.2.4 cftime-1.5.1 clang-5.0 cloudpickle-2.0.0 cycler-0.10.0 decorator-5.1.0 dill-0.3.4 dm-tree-0.1.6 flatbuffers-1.12 gast-0.4.0 google-auth-1.35.0 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.41.0 h5py-3.1.0 jax-0.2.22 jaxlib-0.1.72 keras-2.6.0 keras-preprocessing-1.1.2 kiwisolver-1.3.2 markdown-3.3.4 matplotlib-3.4.3 mederrata-spmf-0.0.1 natsort-7.1.1 netcdf4-1.5.7 numpy-1.19.5 oauthlib-3.1.1 opt-einsum-3.3.0 packaging-21.0 pandas-1.1.5 pillow-8.3.2 protobuf-3.18.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyparsing-2.4.7 python-dateutil-2.8.2 pytz-2021.3 requests-oauthlib-1.3.0 rsa-4.7.2 scipy-1.7.1 six-1.15.0 tensorboard-2.6.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.6.0 tensorflow-addons-0.14.0 tensorflow-estimator-2.6.0 tensorflow-probability-0.14.1 termcolor-1.1.0 tqdm-4.62.3 typeguard-2.13.0 typing-extensions-3.7.4.3 werkzeug-2.0.2 wrapt-1.12.1 xarray-0.19.0 WARNING: You are using pip version 21.2.4; however, version 21.3 is available. You should consider upgrading via the '/Users/psuedofinnish/git_repo/spmf/venv/bin/python3.9 -m pip install --upgrade pip' command. (venv) ➜ spmf git:(remove_version_lock) ✗ pip list Package Version ----------------------- --------- absl-py 0.14.1 arviz 0.11.4 astunparse 1.6.3 bayesianquilts 0.0.6 cachetools 4.2.4 certifi 2021.10.8 cftime 1.5.1 charset-normalizer 2.0.7 clang 5.0 cloudpickle 2.0.0 cPython 0.0.6 cycler 0.10.0 decorator 5.1.0 dill 0.3.4 dm-tree 0.1.6 flatbuffers 1.12 gast 0.4.0 google-auth 1.35.0 google-auth-oauthlib 0.4.6 google-pasta 0.2.0 grpcio 1.41.0 h5py 3.1.0 idna 3.3 jax 0.2.22 jaxlib 0.1.72 keras 2.6.0 Keras-Preprocessing 1.1.2 kiwisolver 1.3.2 Markdown 3.3.4 matplotlib 3.4.3 mederrata-spmf 0.0.1 natsort 7.1.1 netCDF4 1.5.7 numpy 1.19.5 oauthlib 3.1.1 opt-einsum 3.3.0 packaging 21.0 pandas 1.1.5 Pillow 8.3.2 pip 21.2.4 protobuf 3.18.1 pyasn1 0.4.8 pyasn1-modules 0.2.8 pymongo 3.12.0 pyparsing 2.4.7 python-dateutil 2.8.2 pytz 2021.3 requests 2.26.0 requests-oauthlib 1.3.0 rsa 4.7.2 scipy 1.7.1 setuptools 57.4.0 six 1.15.0 tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0 tensorflow 2.6.0 tensorflow-addons 0.14.0 tensorflow-estimator 2.6.0 tensorflow-probability 0.14.1 termcolor 1.1.0 tqdm 4.62.3 typeguard 2.13.0 typing-extensions 3.7.4.3 urllib3 1.26.7 Werkzeug 2.0.2 wheel 0.37.0 wrapt 1.12.1 xarray 0.19.0 WARNING: You are using pip version 21.2.4; however, version 21.3 is available. You should consider upgrading via the '/Users/psuedofinnish/git_repo/spmf/venv/bin/python3.9 -m pip install --upgrade pip' command.
python3 -m venv venv source venv/bin/activate pip install wheel pip install Cpython pip install . Processing /Users/psuedofinnish/git_repo/spmf DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default. pip 21.3 will remove support for this functionality. You can find discussion regarding this at pypa/pip#7555. Collecting bayesianquilts@ git+https://github.com/mederrata/bayesianquilts.git Cloning https://github.com/mederrata/bayesianquilts.git to /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-install-36tu_ya6/bayesianquilts_5012914572444791ad4327f0220afd0a Running command git clone -q https://github.com/mederrata/bayesianquilts.git /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-install-36tu_ya6/bayesianquilts_5012914572444791ad4327f0220afd0a Resolved https://github.com/mederrata/bayesianquilts.git to commit c6b8ea17bb1d04107074bb12e525c496e4a247c9 Collecting dill>=0.3.1.1 Using cached dill-0.3.4-py2.py3-none-any.whl (86 kB) Collecting matplotlib>=3.1 Using cached matplotlib-3.4.3-cp39-cp39-macosx_10_9_x86_64.whl (7.2 MB) Collecting arviz>=0.10.0 Using cached arviz-0.11.4-py3-none-any.whl (1.6 MB) Collecting numpy>=1.17 Using cached numpy-1.21.2-cp39-cp39-macosx_10_9_x86_64.whl (17.0 MB) Collecting pandas<1.2.0,>=1.0.0 Using cached pandas-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl (10.3 MB) Collecting scipy>=1.4.1 Using cached scipy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl (32.8 MB) Collecting tensorflow>=2.4.0 Using cached tensorflow-2.6.0-cp39-cp39-macosx_10_11_x86_64.whl (199.0 MB) Collecting tensorflow-probability>=0.12.1 Using cached tensorflow_probability-0.14.1-py2.py3-none-any.whl (5.7 MB) Collecting tensorflow-addons>=0.12.0 Using cached tensorflow_addons-0.14.0-cp39-cp39-macosx_10_13_x86_64.whl (575 kB) Collecting packaging Using cached packaging-21.0-py3-none-any.whl (40 kB) Collecting typing-extensions<4,>=3.7.4.3 Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB) Requirement already satisfied: setuptools>=38.4 in ./venv/lib/python3.9/site-packages (from arviz>=0.10.0->mederrata-spmf==0.0.1) (57.4.0) Collecting netcdf4 Using cached netCDF4-1.5.7-cp39-cp39-macosx_10_9_x86_64.whl (4.0 MB) Collecting xarray>=0.16.1 Using cached xarray-0.19.0-py3-none-any.whl (827 kB) Collecting pyparsing>=2.2.1 Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting cycler>=0.10 Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) Collecting pillow>=6.2.0 Using cached Pillow-8.3.2-cp39-cp39-macosx_10_10_x86_64.whl (3.0 MB) Collecting python-dateutil>=2.7 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting kiwisolver>=1.0.1 Using cached kiwisolver-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl (61 kB) Collecting six Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting pytz>=2017.2 Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB) Collecting absl-py~=0.10 Using cached absl_py-0.14.1-py3-none-any.whl (131 kB) Collecting grpcio<2.0,>=1.37.0 Using cached grpcio-1.41.0-cp39-cp39-macosx_10_10_x86_64.whl (3.9 MB) Collecting clang~=5.0 Using cached clang-5.0.tar.gz (30 kB) Collecting tensorflow-estimator~=2.6 Using cached tensorflow_estimator-2.6.0-py2.py3-none-any.whl (462 kB) Collecting typing-extensions<4,>=3.7.4.3 Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting keras~=2.6 Using cached keras-2.6.0-py2.py3-none-any.whl (1.3 MB) Collecting keras-preprocessing~=1.1.2 Using cached Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB) Collecting h5py~=3.1.0 Using cached h5py-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB) Collecting termcolor~=1.1.0 Using cached termcolor-1.1.0.tar.gz (3.9 kB) Collecting astunparse~=1.6.3 Using cached astunparse-1.6.3-py2.py3-none-any.whl (12 kB) Requirement already satisfied: wheel~=0.35 in ./venv/lib/python3.9/site-packages (from tensorflow>=2.4.0->mederrata-spmf==0.0.1) (0.37.0) Collecting opt-einsum~=3.3.0 Using cached opt_einsum-3.3.0-py3-none-any.whl (65 kB) Collecting google-pasta~=0.2 Using cached google_pasta-0.2.0-py3-none-any.whl (57 kB) Collecting numpy>=1.17 Using cached numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl (15.6 MB) Collecting six Using cached six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting tensorboard~=2.6 Using cached tensorboard-2.6.0-py3-none-any.whl (5.6 MB) Collecting gast==0.4.0 Using cached gast-0.4.0-py3-none-any.whl (9.8 kB) Collecting wrapt~=1.12.1 Using cached wrapt-1.12.1.tar.gz (27 kB) Collecting flatbuffers~=1.12.0 Using cached flatbuffers-1.12-py2.py3-none-any.whl (15 kB) Collecting protobuf>=3.9.2 Using cached protobuf-3.18.1-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB) Collecting tensorboard-data-server<0.7.0,>=0.6.0 Using cached tensorboard_data_server-0.6.1-py3-none-macosx_10_9_x86_64.whl (3.5 MB) Collecting markdown>=2.6.8 Using cached Markdown-3.3.4-py3-none-any.whl (97 kB) Collecting werkzeug>=0.11.15 Using cached Werkzeug-2.0.2-py3-none-any.whl (288 kB) Collecting tensorboard-plugin-wit>=1.6.0 Using cached tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB) Collecting google-auth-oauthlib<0.5,>=0.4.1 Using cached google_auth_oauthlib-0.4.6-py2.py3-none-any.whl (18 kB) Collecting google-auth<2,>=1.6.3 Using cached google_auth-1.35.0-py2.py3-none-any.whl (152 kB) Requirement already satisfied: requests<3,>=2.21.0 in ./venv/lib/python3.9/site-packages (from tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2.26.0) Collecting pyasn1-modules>=0.2.1 Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) Collecting rsa<5,>=3.1.4 Using cached rsa-4.7.2-py3-none-any.whl (34 kB) Collecting cachetools<5.0,>=2.0.0 Using cached cachetools-4.2.4-py3-none-any.whl (10 kB) Collecting requests-oauthlib>=0.7.0 Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB) Collecting pyasn1<0.5.0,>=0.4.6 Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2021.10.8) Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (3.3) Requirement already satisfied: charset-normalizer~=2.0.0 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (2.0.7) Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.9/site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow>=2.4.0->mederrata-spmf==0.0.1) (1.26.7) Collecting oauthlib>=3.0.0 Using cached oauthlib-3.1.1-py2.py3-none-any.whl (146 kB) Collecting typeguard>=2.7 Using cached typeguard-2.13.0-py3-none-any.whl (17 kB) Collecting decorator Using cached decorator-5.1.0-py3-none-any.whl (9.1 kB) Collecting cloudpickle>=1.3 Using cached cloudpickle-2.0.0-py3-none-any.whl (25 kB) Collecting dm-tree Using cached dm_tree-0.1.6-cp39-cp39-macosx_10_14_x86_64.whl (95 kB) Collecting jax Using cached jax-0.2.22.tar.gz (776 kB) Collecting jaxlib Using cached jaxlib-0.1.72-cp39-none-macosx_10_9_x86_64.whl (44.1 MB) Collecting natsort Using cached natsort-7.1.1-py3-none-any.whl (35 kB) Collecting tqdm Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB) Collecting cftime Using cached cftime-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl (222 kB) Building wheels for collected packages: mederrata-spmf, clang, termcolor, wrapt, bayesianquilts, jax Building wheel for mederrata-spmf (setup.py) ... done Created wheel for mederrata-spmf: filename=mederrata_spmf-0.0.1-py3-none-any.whl size=11849 sha256=849f8a917f99c7d6aeb525805554951de6d25b2ede3f7d5fb3c7531ba68ee058 Stored in directory: /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-ephem-wheel-cache-t48whcux/wheels/e0/24/c6/9e5c18c271ea71c12b85be41b6bf40c7409cce1cf8c134eeb5 Building wheel for clang (setup.py) ... done Created wheel for clang: filename=clang-5.0-py3-none-any.whl size=30692 sha256=5555e1cf8cb334404c8722c1e5dee33144ec58a27673df42f6cb8cd7f9d169d0 Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/3a/ce/7a/27094f689461801c934296d07078773603663dfcaca63bb064 Building wheel for termcolor (setup.py) ... done Created wheel for termcolor: filename=termcolor-1.1.0-py3-none-any.whl size=4847 sha256=f8a2068c8913078bcb784f39c2296ed39b91a96b539fa38c742507b228f52627 Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/b6/0d/90/0d1bbd99855f99cb2f6c2e5ff96f8023fad8ec367695f7d72d Building wheel for wrapt (setup.py) ... done Created wheel for wrapt: filename=wrapt-1.12.1-cp39-cp39-macosx_11_0_x86_64.whl size=32856 sha256=cb38cbfd0ba82006e73eb83267c9da7ee2bc45745ab8fde52215a1d60780b7aa Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/98/23/68/efe259aaca055e93b08e74fbe512819c69a2155c11ba3c0f10 Building wheel for bayesianquilts (setup.py) ... done Created wheel for bayesianquilts: filename=bayesianquilts-0.0.6-py3-none-any.whl size=24180 sha256=af9409fdeef2184c5a018b0a130e3c0f0379a6bb983f9591fa3a21a54664711c Stored in directory: /private/var/folders/lm/dchvrvv15dz87prf3k97fdfw0000gn/T/pip-ephem-wheel-cache-t48whcux/wheels/51/9d/a7/d49d7fa318720372b80b0f9bc6f1122b58262830a84d70dcf6 Building wheel for jax (setup.py) ... done Created wheel for jax: filename=jax-0.2.22-py3-none-any.whl size=890292 sha256=7d6ff6dc027545c6efe8288ff40ad194713038c5dd6f10b8805310b51a1cb0dd Stored in directory: /Users/psuedofinnish/Library/Caches/pip/wheels/01/28/1b/5d30b3b33d4fba11a21e17b9262042b200233bec10b696cbbe Successfully built mederrata-spmf clang termcolor wrapt bayesianquilts jax Installing collected packages: pyasn1, six, rsa, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, pytz, python-dateutil, numpy, google-auth, werkzeug, tensorboard-plugin-wit, tensorboard-data-server, pyparsing, protobuf, pillow, pandas, markdown, kiwisolver, grpcio, google-auth-oauthlib, cycler, cftime, absl-py, xarray, wrapt, typing-extensions, typeguard, termcolor, tensorflow-estimator, tensorboard, scipy, packaging, opt-einsum, netcdf4, matplotlib, keras-preprocessing, keras, h5py, google-pasta, gast, flatbuffers, dm-tree, decorator, cloudpickle, clang, astunparse, tqdm, tensorflow-probability, tensorflow-addons, tensorflow, natsort, jaxlib, jax, dill, arviz, bayesianquilts, mederrata-spmf Successfully installed absl-py-0.14.1 arviz-0.11.4 astunparse-1.6.3 bayesianquilts-0.0.6 cachetools-4.2.4 cftime-1.5.1 clang-5.0 cloudpickle-2.0.0 cycler-0.10.0 decorator-5.1.0 dill-0.3.4 dm-tree-0.1.6 flatbuffers-1.12 gast-0.4.0 google-auth-1.35.0 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.41.0 h5py-3.1.0 jax-0.2.22 jaxlib-0.1.72 keras-2.6.0 keras-preprocessing-1.1.2 kiwisolver-1.3.2 markdown-3.3.4 matplotlib-3.4.3 mederrata-spmf-0.0.1 natsort-7.1.1 netcdf4-1.5.7 numpy-1.19.5 oauthlib-3.1.1 opt-einsum-3.3.0 packaging-21.0 pandas-1.1.5 pillow-8.3.2 protobuf-3.18.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyparsing-2.4.7 python-dateutil-2.8.2 pytz-2021.3 requests-oauthlib-1.3.0 rsa-4.7.2 scipy-1.7.1 six-1.15.0 tensorboard-2.6.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.6.0 tensorflow-addons-0.14.0 tensorflow-estimator-2.6.0 tensorflow-probability-0.14.1 termcolor-1.1.0 tqdm-4.62.3 typeguard-2.13.0 typing-extensions-3.7.4.3 werkzeug-2.0.2 wrapt-1.12.1 xarray-0.19.0 WARNING: You are using pip version 21.2.4; however, version 21.3 is available. You should consider upgrading via the '/Users/psuedofinnish/git_repo/spmf/venv/bin/python3.9 -m pip install --upgrade pip' command. (venv) ➜ spmf git:(remove_version_lock) ✗ pip list Package Version ----------------------- --------- absl-py 0.14.1 arviz 0.11.4 astunparse 1.6.3 bayesianquilts 0.0.6 cachetools 4.2.4 certifi 2021.10.8 cftime 1.5.1 charset-normalizer 2.0.7 clang 5.0 cloudpickle 2.0.0 cPython 0.0.6 cycler 0.10.0 decorator 5.1.0 dill 0.3.4 dm-tree 0.1.6 flatbuffers 1.12 gast 0.4.0 google-auth 1.35.0 google-auth-oauthlib 0.4.6 google-pasta 0.2.0 grpcio 1.41.0 h5py 3.1.0 idna 3.3 jax 0.2.22 jaxlib 0.1.72 keras 2.6.0 Keras-Preprocessing 1.1.2 kiwisolver 1.3.2 Markdown 3.3.4 matplotlib 3.4.3 mederrata-spmf 0.0.1 natsort 7.1.1 netCDF4 1.5.7 numpy 1.19.5 oauthlib 3.1.1 opt-einsum 3.3.0 packaging 21.0 pandas 1.1.5 Pillow 8.3.2 pip 21.2.4 protobuf 3.18.1 pyasn1 0.4.8 pyasn1-modules 0.2.8 pymongo 3.12.0 pyparsing 2.4.7 python-dateutil 2.8.2 pytz 2021.3 requests 2.26.0 requests-oauthlib 1.3.0 rsa 4.7.2 scipy 1.7.1 setuptools 57.4.0 six 1.15.0 tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0 tensorflow 2.6.0 tensorflow-addons 0.14.0 tensorflow-estimator 2.6.0 tensorflow-probability 0.14.1 termcolor 1.1.0 tqdm 4.62.3 typeguard 2.13.0 typing-extensions 3.7.4.3 urllib3 1.26.7 Werkzeug 2.0.2 wheel 0.37.0 wrapt 1.12.1 xarray 0.19.0 WARNING: You are using pip version 21.2.4; however, version 21.3 is available. You should consider upgrading via the '/Users/psuedofinnish/git_repo/spmf/venv/bin/python3.9 -m pip install --upgrade pip' command.
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1806625 Upstream issue for a proper fix pypa/pip#7555 Co-Authored-By: Petr Viktorin <[email protected]>
I open this issue as an attempt to consolidate discussion about out-of-tree builds, the related issues and possible solutions.
What's the problem this feature will solve?
When building projects from local directories, pip first copies them to a temporary location.
This approach has raised a number of issues over time:
Why does pip copy to a temporary directory before building? Caveat: this is unclear to me - here is what I collected so far:
Possible Solutions
Additional context
More discussion about building via sdist on discuss.python.org.
The text was updated successfully, but these errors were encountered: