E.g.: `pip install 'prettytable>0.7'` will no longer install
`prettytable==0.7.2`, because of PEP 440.
Hopefully prevents the kind of confusion see in
https://bitbucket.org/pypa/setuptools/issue/301/101-in-requirementparse-foo-10-results
$ pip install 'prettytable>0.7'
Collecting prettytable>0.7
The behavior of the `>` version specifier has changed in PEP 440. `>` is now an exclusive operator, meaning that >0.7 does not match >0.7.*.
Perhaps you want `>=` instead of `>`?
Could not find a version that satisfies the requirement prettytable>0.7 (from versions: )
No distributions matching the version for prettytable>0.7
instead of just filename when using index other than PyPI.
It's useful to distinguish between downloading from PyPI or from an
internal devpi server, for example. In the latter case, it is useful to
see the full URL, to know which index pip is downloading from.
E.g.:
Downloading from PyPI is unchanged:
$ pip install --no-cache-dir --ignore-installed Jinja2
...
Downloading Jinja2-2.7.3.tar.gz (378kB)
But downloading from a different server results in displaying the full
URL:
$ pip install --no-cache-dir --ignore-installed -i http://mirror.picosecond.org/pypi/simple jinja2
...
Downloading http://mirror.picosecond.org/pypi/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz (378kB)
by creating a PyPI object
Before:
$ ag --ignore=_vendor 'pypi.python.org' pip
pip/cmdoptions.py
195: default='https://pypi.python.org/simple/',
pip/commands/search.py
33: default='https://pypi.python.org/pypi',
pip/index.py
305: if page is None and 'pypi.python.org' not in str(main_index_url):
706: ).netloc.endswith("pypi.python.org")):
pip/utils/outdated.py
107: "https://pypi.python.org/pypi/pip/json",
After:
$ ag --ignore=_vendor 'pypi.python.org' pip
pip/index.py
77:PyPI = Index(url='https://pypi.python.org/', trusted=True)
* Deprecates accessing non secure origins by default, the list of
which is taken from Chrome.
* Adds a --trusted-host flag to enable users to mark a specific
host as a secure origin regardless of what we think.
* Refactors the original warning to better indicate the intent
and the new flag.
* Deprecates the --download-cache option & removes the download
cache code.
* Removes the in memory page cache on the index
* Uses CacheControl to cache all cacheable HTTP requests to the
filesystem.
* Properly handles CacheControl headers for unconditional
caching.
* Will use ETag and Last-Modified headers to attempt to do a
conditional HTTP request to speed up cache misses and turn
them into cache hits.
* Removes some concurrency unsafe code in the download cache
accesses.
* Uses a Cache-Control request header to limit the maximum
length of time a cache is valid for.
* Adds pip.appdirs to handle platform specific application
directories such as cache, config, data, etc.
Users who opted to install externally hosted files were being warned
about the possiblility of the availability of those files would be
unreliable. However this has caused some contention and confusion
and at this point they've already decided to do it, so there's no
reason to tell them again.