mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
* Backports ensurepip to the 2.7 branch * Backports some of the improved documentation to the 2.7 branch. * Adds a private backport of the 3.x mock library as test._mock_backport to enable saner testing of ensurepip. Key Differences from 3.x: * Ensurepip does not have any Makefile integration, specifically it is not ran by default in the Makefile. * There is no venv module in 2.7, so downstream distributors can completely disable ensurepip, ideally with a message redirecting to the correct way to install pip. * To match the ``python`` command in 2.7, ensurepip will install the unversioned ``pip`` command as well. * No-op and hide --default-pip and add --no-default-pip to restore the 3.x behavor on 2.7.
32 lines
758 B
Python
32 lines
758 B
Python
#!/usr/bin/env python2
|
|
"""
|
|
Checks that the version of the projects bundled in ensurepip are the latest
|
|
versions available.
|
|
"""
|
|
import ensurepip
|
|
import json
|
|
import urllib2
|
|
import sys
|
|
|
|
|
|
def main():
|
|
outofdate = False
|
|
|
|
for project, version in ensurepip._PROJECTS:
|
|
data = json.loads(urllib2.urlopen(
|
|
"https://pypi.python.org/pypi/{}/json".format(project),
|
|
).read().decode("utf8"))
|
|
upstream_version = data["info"]["version"]
|
|
|
|
if version != upstream_version:
|
|
outofdate = True
|
|
print("The latest version of {} on PyPI is {}, but ensurepip "
|
|
"has {}".format(project, upstream_version, version))
|
|
|
|
if outofdate:
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|