Skip to content
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

21.3: Breaking editable installation with No module named pip error #10573

Closed
1 task done
Panaetius opened this issue Oct 12, 2021 · 28 comments · Fixed by #10577
Closed
1 task done

21.3: Breaking editable installation with No module named pip error #10573

Panaetius opened this issue Oct 12, 2021 · 28 comments · Fixed by #10577
Assignees
Labels
C: editable Editable installations PEP implementation Involves some PEP type: bug A confirmed bug or unintended behavior
Milestone

Comments

@Panaetius
Copy link

Description

Our CI is failing due to version 21.3 release, in the pip wheel subprocess call during installation, with seemingly random packages being the culprit.

E.g.

  subprocess.CalledProcessError: Command '['/opt/hostedtoolcache/Python/3.7.12/x64/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpiq0bznxg', '--quiet', 'cryptography<3.5,>=3.4.1']' returned non-zero exit status 1.

Full Log attached below

The specific dependency it fails for seems completely random, in 5 subsequent runs it's been pathspec, cryptography, tabulate, rdflib and pyasn1.

I can reproduce the issue locally as well with Arch Linux, 21.3 fails, 21.2.4 works.
This only happens in editable mode (using -e flag), without it everything install fine.

Expected behavior

Renku Package to be installed without problem

pip version

21.3

Python version

3.7.8

OS

Arch Linux/Github Actions(Ubuntu)

How to Reproduce

  1. clone https://github.com/SwissDataScienceCenter/renku-python
  2. upgrade to pip 21.3
  3. do pip install -e .[all]

Output

$ python -m pip install -e .[all]
/home/user/.pyenv/versions/renku-python/lib/python3.7/site-packages/secretstorage/dhcrypto.py:16: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
/home/user/.pyenv/versions/renku-python/lib/python3.7/site-packages/secretstorage/util.py:25: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
  from cryptography.utils import int_from_bytes
Obtaining file:///home/user/DEV/ETH/renku-python
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build editable: started
  Getting requirements to build editable: finished with status 'done'
  Preparing editable metadata (pyproject.toml): started
  Preparing editable metadata (pyproject.toml): finished with status 'done'
  Build backend does not support editables, falling back to setup.py egg_info.
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /home/user/.pyenv/versions/renku-python/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/user/DEV/ETH/renku-python/setup.py'"'"'; __file__='"'"'/home/user/DEV/ETH/renku-python/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-0jfl5x91
       cwd: /home/user/DEV/ETH/renku-python/
  Complete output (31 lines):
  /home/user/.pyenv/versions/renku-python/bin/python: No module named pip
  Traceback (most recent call last):
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/installer.py", line 75, in fetch_build_egg
      subprocess.check_call(cmd)
    File "/home/user/.pyenv/versions/3.7.8/lib/python3.7/subprocess.py", line 363, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/home/user/.pyenv/versions/renku-python/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpppr5o_gk', '--quiet', 'zc.relation<1.2,>=1.1']' returned non-zero exit status 1.
  
  The above exception was the direct cause of the following exception:
  
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/home/user/DEV/ETH/renku-python/setup.py", line 266, in <module>
      "Development Status :: 4 - Beta",
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 152, in setup
      _install_setup_requires(attrs)
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 147, in _install_setup_requires
      dist.fetch_build_eggs(dist.setup_requires)
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 809, in fetch_build_eggs
      replace_conflicting=True,
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 768, in resolve
      replace_conflicting=replace_conflicting
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1051, in best_match
      return self.obtain(req, installer)
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1063, in obtain
      return installer(requirement)
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 877, in fetch_build_egg
      return fetch_build_egg(self, req)
    File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/installer.py", line 77, in fetch_build_egg
      raise DistutilsError(str(e)) from e
  distutils.errors.DistutilsError: Command '['/home/user/.pyenv/versions/renku-python/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpppr5o_gk', '--quiet', 'zc.relation<1.2,>=1.1']' returned non-zero exit status 1.
  ----------------------------------------
WARNING: Discarding file:///home/user/DEV/ETH/renku-python. Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Code of Conduct

@Panaetius Panaetius added S: needs triage Issues/PRs that need to be triaged type: bug A confirmed bug or unintended behavior labels Oct 12, 2021
@uranusjr uranusjr added C: editable Editable installations and removed S: needs triage Issues/PRs that need to be triaged labels Oct 12, 2021
@teije01
Copy link

teije01 commented Oct 12, 2021

Experiencing the same problems, also

/opt/conda/envs/vdsdb/bin/python3.7: No module named pip

Same with other python versions. Downgrading pip resolved our problem

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

Ok, this seems to be related to the PEP 660 implementation.

Since this project has a pyproject.toml without build-system table, it seems that pip<21.3 did first prepare the metadata using the setuptools.build_meta:__legacy__ build backend, then called setup.py develop, so doing a mix of PEP 517 and legacy installation.

Now pip first tries a PEP 660 editable metadata preparation and, since the build backend does not support PEP 660, it falls back to a legacy metadata preparation (setup.py egg_info), which should in theory be equivalent but, for some reason I don't fully understand, does not work for your project.

@sbidoul sbidoul self-assigned this Oct 12, 2021
@sbidoul sbidoul changed the title 21.3 breaking installation of package from source with random error on subprocess call to wheel 21.3 breaking editable installation with No module named pip error Oct 12, 2021
@sbidoul sbidoul added this to the 21.3.1 milestone Oct 12, 2021
@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

@Panaetius can you test if #10577 fixes the issue ?

You can install it with pip install -U "pip @ git+https://github.com/pypa/pip@refs/pull/10577/head"

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

Note I tentatively added this to a 21.3.1 bugfix milestone, since it is a regression, but this does not mean doing an actual bugfix release has been decided yet.

@Panaetius
Copy link
Author

It gets a lot further in the install process but then unfortunately has the same error when trying to install things:

https://gist.github.com/Panaetius/5d9b29b3694b310e567bc803fb9878a8

Thank you for looking into this!

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

@Panaetius Could you retry in a fresh environment ? Also removing any .eggs and .egg-info directories that might have been created by previous attempts.

@ceelian
Copy link

ceelian commented Oct 12, 2021

Having a similar problem on our CI System since the new release. Our CI does a fresh setup of the environment in each build. So IMO it looks like the "freshness" of the environment isn't the cause. Using the release versions pip-21.3 setuptools-58.2.0.

Our workaround for now: pinning versions to pip==21.2.4 setuptools==57.4.0

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

@ceelian my comment about retrying in a fresh environment was specifically for @Panaetius who is testing the linked PR.
If you'd like to test #10577 too, this is welcome.

@ceelian
Copy link

ceelian commented Oct 12, 2021

@sbidoul sorry, was too fast with typing and too slow with reading. Thx for the support!

@Panaetius
Copy link
Author

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

@Panaetius is this with the master branch of https://github.com/SwissDataScienceCenter/renku-python (so I can try to reproduce myself) ?

@Panaetius
Copy link
Author

Panaetius commented Oct 12, 2021

Yes with current master, I did a fresh clone to test it.

@layday
Copy link
Member

layday commented Oct 12, 2021

If I understand correctly, setuptools is calling pip to install setup_requires from egg_info and pip itself is calling setuptools from an "overlay" (i.e. an isolated build environment) where pip itself is not available. This is why egg_info didn't work in the first place and why it fails now when setuptools is calling egg_info prior to building the package.

@ceelian
Copy link

ceelian commented Oct 12, 2021

Tested @sbidoul's patch in our CI, same error as @Panaetius.

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

Alright, I I'm slowly nailing it...

A minimal reproducer for this is an empty pyproject.toml and a setup.py with any setup_requires.

I missed the fact that setup.py develop is running in an isolated build (!) environment if there is a pyproject.toml 🤷. I thought editable were totally independent of PEP 518/517 things until PEP 660, and this false assumption partly misled my PEP 660 implementation...

According to the changelog, this dates back to #4999. This presumably done so pip installs setup_requires requirements and not setuptools (which back then was not using pip) ?

Since the default implementation of get_requires_for_build_editable returns [], pip does not install the setup_requires, and setuptools attemps to do it by itself... in the isolated environment which does not have pip.

I'm pushing a hack commit to #10577 to let my thoughts settle down but I think I'll have to re-do metadata preparation to detect the missing get_requires_for_build_editable hook and fall back to regular metadata preparation much earlier.

@sbidoul
Copy link
Member

sbidoul commented Oct 12, 2021

In the meantime, a possible workaround is to use pip install -e . --no-use-pep517 when you have a setup.py that has a setup_requires and also a pyproject.toml.

MarkLark86 added a commit to MarkLark86/superdesk-core that referenced this issue Oct 13, 2021
A change in pip v21.3 causes `-e` in requirements.txt from a github repo to fail

This is a temporary solution until pypa/pip#10573 is fixed.
@swhmirror
Copy link

swhmirror commented Oct 16, 2021 via email

@pradyunsg
Copy link
Member

If so we'll try to avoid mentioning any pip bugs in our commit messages in the future.

That would indeed help! GitHub shows any-and-every place that mentions an issue, in the issue view which results in collapsing useful comments. :)

@layday
Copy link
Member

layday commented Oct 16, 2021

I guess you could create a tracking issue on your bug tracker and link to the pip issue there to reduce flooding - people shouldn't be discouraged from adding context to their commits because of how GH does references.

@Jasha10

This comment has been minimized.

@layday

This comment has been minimized.

joshmoore added a commit to joshmoore/zarr-python that referenced this issue Oct 19, 2021
joshmoore added a commit to zarr-developers/zarr-python that referenced this issue Oct 19, 2021
* Fix #840

* Add legacy tests (See #840)

Each fixture (flat & nested) should have a version
which does not include any new metadata.

* Fix PEP8 issues

* Try dropping editable installs

see: pypa/pip#10573

* Handle case of store being a dict

* Exclude unexpected failure from code coverage

* Add 2.10.2 release notes
zklaus pushed a commit to ESMValGroup/ESMValTool that referenced this issue Oct 20, 2021
mkoura added a commit to mkoura/cardano-clusterlib-py that referenced this issue Oct 20, 2021
williamcroberts pushed a commit to williamcroberts/tpm2-pytss that referenced this issue Oct 21, 2021
Per this bug:
  - pypa/pip#10573

Signed-off-by: William Roberts <william.c.roberts@intel.com>
williamcroberts pushed a commit to williamcroberts/tpm2-pytss that referenced this issue Oct 22, 2021
A bug is triggered in pip 21.3 where -e installs are broken and result
in an error "no module named pip" error. See bugs
pip bug Report:
  - pypa/pip#10573
pip fix:
  - pypa/pip@4a4b613

Signed-off-by: William Roberts <william.c.roberts@intel.com>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this issue Oct 22, 2021
Bumps [pip](https://github.com/pypa/pip) from 21.3 to 21.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>21.3.1 (2021-10-22)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Always refuse installing or building projects that have no <code>pyproject.toml</code> nor
<code>setup.py</code>. (<code>[#10531](pypa/pip#10531) &lt;https://github.com/pypa/pip/issues/10531&gt;</code>_)</li>
<li>Tweak running-as-root detection, to check <code>os.getuid</code> if it exists, on Unix-y and non-Linux/non-MacOS machines. (<code>[#10565](pypa/pip#10565) &lt;https://github.com/pypa/pip/issues/10565&gt;</code>_)</li>
<li>When installing projects with a <code>pyproject.toml</code> in editable mode, and the build
backend does not support :pep:<code>660</code>, prepare metadata using
<code>prepare_metadata_for_build_wheel</code> instead of <code>setup.py egg_info</code>. Also, refuse
installing projects that only have a <code>setup.cfg</code> and no <code>setup.py</code> nor
<code>pyproject.toml</code>. These restore the pre-21.3 behaviour. (<code>[#10573](pypa/pip#10573) &lt;https://github.com/pypa/pip/issues/10573&gt;</code>_)</li>
<li>Restore compatibility of where configuration files are loaded from on MacOS (back to <code>Library/Application Support/pip</code>, instead of <code>Preferences/pip</code>). (<code>[#10585](pypa/pip#10585) &lt;https://github.com/pypa/pip/issues/10585&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade pep517 to 0.12.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/f9914f3ebe223004b1d439a2b1980bd132d14f27"><code>f9914f3</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/f9f2db248fc04b46bd0149eba92882e4932c627e"><code>f9f2db2</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/f2d776be2adffee700ef4563893dc01dc231125c"><code>f2d776b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10607">#10607</a> from pradyunsg/fix-docs-builds</li>
<li><a href="https://github.com/pypa/pip/commit/4a4b613a7ccdf4c4aab8f223f9b97f413b8b3056"><code>4a4b613</code></a> Merge PR <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10577">#10577</a> from sbidoul/fix-pep660-metadata-preparation-fallback</li>
<li><a href="https://github.com/pypa/pip/commit/f4d67ba0c091c5b02096ddb211c7602bf0d95580"><code>f4d67ba</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10592">#10592</a> from pradyunsg/update-ewdurbin-name</li>
<li><a href="https://github.com/pypa/pip/commit/37aef106a325ed7b1115f04028360e03dbfe7ee8"><code>37aef10</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10536">#10536</a> from pradyunsg/docs/fix-wordin</li>
<li><a href="https://github.com/pypa/pip/commit/457564cf38ad5da75672d4de119e4c5ae19fbd56"><code>457564c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10585">#10585</a> from pradyunsg/fix-config-paths</li>
<li><a href="https://github.com/pypa/pip/commit/8c1f333ba5cb0a8c2cc4c775355bdde4ae06e50f"><code>8c1f333</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10580">#10580</a> from pradyunsg/better-towncrier-template</li>
<li><a href="https://github.com/pypa/pip/commit/cc559ed6237f7461c919d403c93fbc2ac82abe09"><code>cc559ed</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10583">#10583</a> from pradyunsg/fix-vendoring</li>
<li><a href="https://github.com/pypa/pip/commit/0c2574b7ef78791dd98822bca038b6d839b5378c"><code>0c2574b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10566">#10566</a> from n1000/dont_warn_on_bsd</li>
<li>See full diff in <a href="https://github.com/pypa/pip/compare/21.3...21.3.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=21.3&new-version=21.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
williamcroberts pushed a commit to williamcroberts/tpm2-pytss that referenced this issue Oct 22, 2021
There is a bug in pip version 21.3:
  - pypa/pip#10573

Thus pin to version 21.2.4 until version 21.3.1 comes out containing
commit:
  - pypa/pip@4a4b613
williamcroberts pushed a commit to williamcroberts/tpm2-pytss that referenced this issue Oct 22, 2021
There is a bug in pip version 21.3:
  - pypa/pip#10573

Thus pin to version 21.2.4 until version 21.3.1 comes out containing
commit:
  - pypa/pip@4a4b613

Signed-off-by: William Roberts <william.c.roberts@intel.com>
williamcroberts pushed a commit to tpm2-software/tpm2-pytss that referenced this issue Oct 22, 2021
There is a bug in pip version 21.3:
  - pypa/pip#10573

Thus pin to version 21.2.4 until version 21.3.1 comes out containing
commit:
  - pypa/pip@4a4b613

Signed-off-by: William Roberts <william.c.roberts@intel.com>
mergify bot pushed a commit to andrewbolster/bolster that referenced this issue Oct 22, 2021
Bumps [pip](https://github.com/pypa/pip) from 21.3 to 21.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>21.3.1 (2021-10-22)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Always refuse installing or building projects that have no <code>pyproject.toml</code> nor
<code>setup.py</code>. (<code>[#10531](pypa/pip#10531) &lt;https://github.com/pypa/pip/issues/10531&gt;</code>_)</li>
<li>Tweak running-as-root detection, to check <code>os.getuid</code> if it exists, on Unix-y and non-Linux/non-MacOS machines. (<code>[#10565](pypa/pip#10565) &lt;https://github.com/pypa/pip/issues/10565&gt;</code>_)</li>
<li>When installing projects with a <code>pyproject.toml</code> in editable mode, and the build
backend does not support :pep:<code>660</code>, prepare metadata using
<code>prepare_metadata_for_build_wheel</code> instead of <code>setup.py egg_info</code>. Also, refuse
installing projects that only have a <code>setup.cfg</code> and no <code>setup.py</code> nor
<code>pyproject.toml</code>. These restore the pre-21.3 behaviour. (<code>[#10573](pypa/pip#10573) &lt;https://github.com/pypa/pip/issues/10573&gt;</code>_)</li>
<li>Restore compatibility of where configuration files are loaded from on MacOS (back to <code>Library/Application Support/pip</code>, instead of <code>Preferences/pip</code>). (<code>[#10585](pypa/pip#10585) &lt;https://github.com/pypa/pip/issues/10585&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade pep517 to 0.12.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/f9914f3ebe223004b1d439a2b1980bd132d14f27"><code>f9914f3</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/f9f2db248fc04b46bd0149eba92882e4932c627e"><code>f9f2db2</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/f2d776be2adffee700ef4563893dc01dc231125c"><code>f2d776b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10607">#10607</a> from pradyunsg/fix-docs-builds</li>
<li><a href="https://github.com/pypa/pip/commit/4a4b613a7ccdf4c4aab8f223f9b97f413b8b3056"><code>4a4b613</code></a> Merge PR <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10577">#10577</a> from sbidoul/fix-pep660-metadata-preparation-fallback</li>
<li><a href="https://github.com/pypa/pip/commit/f4d67ba0c091c5b02096ddb211c7602bf0d95580"><code>f4d67ba</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10592">#10592</a> from pradyunsg/update-ewdurbin-name</li>
<li><a href="https://github.com/pypa/pip/commit/37aef106a325ed7b1115f04028360e03dbfe7ee8"><code>37aef10</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10536">#10536</a> from pradyunsg/docs/fix-wordin</li>
<li><a href="https://github.com/pypa/pip/commit/457564cf38ad5da75672d4de119e4c5ae19fbd56"><code>457564c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10585">#10585</a> from pradyunsg/fix-config-paths</li>
<li><a href="https://github.com/pypa/pip/commit/8c1f333ba5cb0a8c2cc4c775355bdde4ae06e50f"><code>8c1f333</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10580">#10580</a> from pradyunsg/better-towncrier-template</li>
<li><a href="https://github.com/pypa/pip/commit/cc559ed6237f7461c919d403c93fbc2ac82abe09"><code>cc559ed</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10583">#10583</a> from pradyunsg/fix-vendoring</li>
<li><a href="https://github.com/pypa/pip/commit/0c2574b7ef78791dd98822bca038b6d839b5378c"><code>0c2574b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10566">#10566</a> from n1000/dont_warn_on_bsd</li>
<li>See full diff in <a href="https://github.com/pypa/pip/compare/21.3...21.3.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=21.3&new-version=21.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
inmantaci pushed a commit to inmanta/inmanta-core that referenced this issue Nov 12, 2021
Bumps [pip](https://github.com/pypa/pip) from 21.0.1 to 21.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p>
<blockquote>
<h1>21.3.1 (2021-10-22)</h1>
<h2>Bug Fixes</h2>
<ul>
<li>Always refuse installing or building projects that have no <code>pyproject.toml</code> nor
<code>setup.py</code>. (<code>[#10531](pypa/pip#10531) &lt;https://github.com/pypa/pip/issues/10531&gt;</code>_)</li>
<li>Tweak running-as-root detection, to check <code>os.getuid</code> if it exists, on Unix-y and non-Linux/non-MacOS machines. (<code>[#10565](pypa/pip#10565) &lt;https://github.com/pypa/pip/issues/10565&gt;</code>_)</li>
<li>When installing projects with a <code>pyproject.toml</code> in editable mode, and the build
backend does not support :pep:<code>660</code>, prepare metadata using
<code>prepare_metadata_for_build_wheel</code> instead of <code>setup.py egg_info</code>. Also, refuse
installing projects that only have a <code>setup.cfg</code> and no <code>setup.py</code> nor
<code>pyproject.toml</code>. These restore the pre-21.3 behaviour. (<code>[#10573](pypa/pip#10573) &lt;https://github.com/pypa/pip/issues/10573&gt;</code>_)</li>
<li>Restore compatibility of where configuration files are loaded from on MacOS (back to <code>Library/Application Support/pip</code>, instead of <code>Preferences/pip</code>). (<code>[#10585](pypa/pip#10585) &lt;https://github.com/pypa/pip/issues/10585&gt;</code>_)</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Upgrade pep517 to 0.12.0</li>
</ul>
<h1>21.3 (2021-10-11)</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li>Improve deprecation warning regarding the copying of source trees when installing from a local directory. (<code>[#10128](pypa/pip#10128) &lt;https://github.com/pypa/pip/issues/10128&gt;</code>_)</li>
<li>Suppress location mismatch warnings when pip is invoked from a Python source
tree, so <code>ensurepip</code> does not emit warnings on CPython <code>make install</code>. (<code>[#10270](pypa/pip#10270) &lt;https://github.com/pypa/pip/issues/10270&gt;</code>_)</li>
<li>On Python 3.10 or later, the installation scheme backend has been changed to use
<code>sysconfig</code>. This is to anticipate the deprecation of <code>distutils</code> in Python
3.10, and its scheduled removal in 3.12. For compatibility considerations, pip
installations running on Python 3.9 or lower will continue to use <code>distutils</code>. (<code>[#10358](pypa/pip#10358) &lt;https://github.com/pypa/pip/issues/10358&gt;</code>_)</li>
<li>Remove the <code>--build-dir</code> option and aliases, one last time. (<code>[#10485](pypa/pip#10485) &lt;https://github.com/pypa/pip/issues/10485&gt;</code>_)</li>
<li>In-tree builds are now the default. <code>--use-feature=in-tree-build</code> is now
ignored. <code>--use-deprecated=out-of-tree-build</code> may be used temporarily to ease
the transition. (<code>[#10495](pypa/pip#10495) &lt;https://github.com/pypa/pip/issues/10495&gt;</code>_)</li>
<li>Un-deprecate source distribution re-installation behaviour. (<code>[#8711](pypa/pip#8711) &lt;https://github.com/pypa/pip/issues/8711&gt;</code>_)</li>
</ul>
<h2>Features</h2>
<ul>
<li>Replace vendored appdirs with platformdirs. (<code>[#10202](pypa/pip#10202) &lt;https://github.com/pypa/pip/issues/10202&gt;</code>_)</li>
<li>Support <code>PEP 610 &lt;https://www.python.org/dev/peps/pep-0610/&gt;</code>_ to detect
editable installs in <code>pip freeze</code> and  <code>pip list</code>. The <code>pip list</code> column output</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/pip/commit/f9914f3ebe223004b1d439a2b1980bd132d14f27"><code>f9914f3</code></a> Bump for release</li>
<li><a href="https://github.com/pypa/pip/commit/f9f2db248fc04b46bd0149eba92882e4932c627e"><code>f9f2db2</code></a> Update AUTHORS.txt</li>
<li><a href="https://github.com/pypa/pip/commit/f2d776be2adffee700ef4563893dc01dc231125c"><code>f2d776b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10607">#10607</a> from pradyunsg/fix-docs-builds</li>
<li><a href="https://github.com/pypa/pip/commit/4a4b613a7ccdf4c4aab8f223f9b97f413b8b3056"><code>4a4b613</code></a> Merge PR <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10577">#10577</a> from sbidoul/fix-pep660-metadata-preparation-fallback</li>
<li><a href="https://github.com/pypa/pip/commit/f4d67ba0c091c5b02096ddb211c7602bf0d95580"><code>f4d67ba</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10592">#10592</a> from pradyunsg/update-ewdurbin-name</li>
<li><a href="https://github.com/pypa/pip/commit/37aef106a325ed7b1115f04028360e03dbfe7ee8"><code>37aef10</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10536">#10536</a> from pradyunsg/docs/fix-wordin</li>
<li><a href="https://github.com/pypa/pip/commit/457564cf38ad5da75672d4de119e4c5ae19fbd56"><code>457564c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10585">#10585</a> from pradyunsg/fix-config-paths</li>
<li><a href="https://github.com/pypa/pip/commit/8c1f333ba5cb0a8c2cc4c775355bdde4ae06e50f"><code>8c1f333</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10580">#10580</a> from pradyunsg/better-towncrier-template</li>
<li><a href="https://github.com/pypa/pip/commit/cc559ed6237f7461c919d403c93fbc2ac82abe09"><code>cc559ed</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10583">#10583</a> from pradyunsg/fix-vendoring</li>
<li><a href="https://github.com/pypa/pip/commit/0c2574b7ef78791dd98822bca038b6d839b5378c"><code>0c2574b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/10566">#10566</a> from n1000/dont_warn_on_bsd</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/21.0.1...21.3.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=21.0.1&new-version=21.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: editable Editable installations PEP implementation Involves some PEP type: bug A confirmed bug or unintended behavior
Projects
None yet
Development

Successfully merging a pull request may close this issue.