Skip to content

“Value for [key] does not match” warnings in pip 21.2 #10151

Closed
@uranusjr

Description

@uranusjr

This is spun off #9617 to aggregate user feedback for another round of pip’s location backend switch from distutils to sysconfig. If you find yourself seeing something like:

WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/10151

What you need to do?

  1. Check your version of pip. New reports that don't mention the pip version, or against versions before 21.2.4 will be ignored.
  2. Comment below with content like this so we can learn about your environment:
Output of 'pip debug':

```
pip version: pip X.Y.Z from /....
sys.version: ...
sys.executable: /path/to/python
...
```

Error output:

```
WARNING: Value for [location-key] does not match. Please report this to ...
distutils: /xxxxx
sysconfig: /yyyyy
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
```

Please:

  • Upgrade to pip 21.2.4 or higher and fill the template above.
  • Do not post screenshots.
  • Always wrap the error output in code block (a pair of three backticks ```) like the above format.
  • Once you posted your comment, you can unsubscribe to this issue (but you’re welcomed to stay if you’re inclined to). We will @ you once a fix is available for your specific environment so you can test the fix.

Additional information for those interested:

  • This is not an error, you can safely ignore the message. The warning is a means to allow pip developers gather information about environments that may have issues when we switch the location backend.
  • Python is going to deprecate distutils in the 3.10 release, with the intention to remove it in 3.12. Therefore, pip is trying to rewrite logic that uses distutils with alternative means provided by the Python standard library. However, distutils contains a lot of legacy edge cases that is difficult to cover, so we are trying to gather information on those edge cases we do not know yet. Once we know about them, we will fix them, so when 3.12 lands everyone can switch to the new location backend without anything breaking.
  • If the warning message causes your workflow to fail (due to an organisational no-warning restriction, for example), you can set the _PIP_LOCATIONS_NO_WARN_ON_MISMATCH=1 environment variable to suppress this warning. The message will only be visible with pip -vv (and to stdout instead of stderr) with this flag set.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions