Commit Graph

571 Commits

Author SHA1 Message Date
Donald Stufft ae914c00ce Update NEWS.rst 2019-05-06 10:08:58 -04:00
ekristina 2e5b4461f4 Improve code reuse in TestSafeFileCache
Use a fixture creating a temporary directory for cache.
2019-05-04 17:11:44 -04:00
Chris Jerdonek 44643b8e28 Restore pyproject.toml handling to its version 19.0.3 state. 2019-04-26 20:29:44 -07:00
Chris Jerdonek 0453f79b9e Revert "Allow --no-use-pep517 to be used with editable mode in more cases."
This reverts commit f069769948.
2019-04-26 20:18:43 -07:00
Chris Jerdonek 1f27d9659e Revert "Fix "build_system value" to "build-system table" in pyproject.toml messages."
This reverts commit ee80bf98ff.
2019-04-26 20:18:27 -07:00
Chris Jerdonek 8d0b73fc5b
Merge pull request #6445 from cjerdonek/tweak-pyproject-messages
Fix "build_system value" to "build-system table" in pyproject.toml messages
2019-04-25 15:43:39 -07:00
Chris Jerdonek 60d3f11961
Merge pull request #6440 from nicolasbock/index_with_git
Protect `@` as safe character when cleaning URLs
2019-04-25 13:28:48 -07:00
Chris Jerdonek ee80bf98ff Fix "build_system value" to "build-system table" in pyproject.toml messages. 2019-04-25 13:12:27 -07:00
Nicolas Bock 265b4e7e65
Protect `@` as safe character when cleaning URLs
Remote URLs that contain a link to a git repository and a tag
reference will have the `@` character converted into `%40`. This is
incorrect.

Fixes: #6437

Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-25 06:26:04 -06:00
Chris Jerdonek f069769948 Allow --no-use-pep517 to be used with editable mode in more cases. 2019-04-25 01:42:11 -07:00
Donald Stufft 307410c24b Bump to 19.1 2019-04-23 22:28:44 -04:00
Donald Stufft 5db1344c23 Upgrade vendored dependencies 2019-04-23 17:54:36 -04:00
Donald Stufft 627eeecd15
Merge pull request #6319 from pquentin/progress1.5
Update progress to 1.5
2019-04-23 17:06:42 -04:00
Albert Tugushev 7130b1d0e0 Fix option name for smart quotes in sphinxdoc conf (#6422)
Also configure the smartquotes_action to exclude dashes from transformation.
See https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-smartquotes
2019-04-21 09:51:42 -07:00
Tzu-ping Chung 1ef8857b4d Finder found candidates cleanup (#6415) 2019-04-20 01:22:46 -07:00
Andy Freeland bb14ff42b0 Fix NameError when handling InvalidRequirement in install_req_from_req_string (#6419)
Previously, an InvalidRequirement would raise a NameError while trying
to raise an InstallationError because `req` was not defined.

Discovered while working on #6402.
2019-04-19 02:37:33 -07:00
Tzu-ping Chung 14cb4f4fb6 Isolate, reuse PackageFinder best candidate logic (#5971)
Split out how PackageFinder finds the best candidate, and reuse it in the
self version check, to avoid the latter duplicating (and incorrectly
implementing) the same logic.
2019-04-16 16:46:25 -07:00
Nicolas Bock 913757cb53
Do not clean base_url
When the `base_url` is a `[]` protected IPv6 address, the
`_clean_link()` function converts `[` to `%5B` and `]` to `%5D`, which
renders the `base_url` invalid. For example:

```
	Starting new HTTP connection (1): fd00:0:0:236:💯8181
	http://fd00:0:0:236:💯8181 "GET /os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt HTTP/1.1" 200 None
	Setting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204)) extras to: ()
	Looking in indexes: http://[fd00:0:0:236::100]:8181/simple
	Collecting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204))
	  1 location(s) to search for versions of setuptools:
	  * http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  Getting page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  http://fd00:0:0:236:💯8181 "GET /simple/setuptools/ HTTP/1.1" 200 376
	  Analyzing links from page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	    _package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:
	236::100]:8181/simple/setuptools/)
	    _link_package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00
	:0:0:236::100]:8181/simple/setuptools/)
	    Found link http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:236::100]:8181/
	simple/setuptools/), version: 40.6.3
	  Using version 40.6.3 (newest of versions: 40.6.3)
        Could not install packages due to an EnvironmentError.
        InvalidURL: Failed to parse: %5bfd00:0:0:236::100%5d:8181
```

This change uses the vendored `urllib` library to split the host part
off of the url before URL quoting only the path part.

Fixes: #6285
Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-07 05:57:03 -06:00
Chris Jerdonek 78744e8071
Merge pull request #6370 from cjerdonek/editable-and-pep-517-optional
Fix editable-mode logic when pyproject.toml present
2019-04-06 15:31:53 -07:00
Chris Jerdonek 20e42271f2
Merge pull request #6367 from cboylan/vendored-exceptions
Consistently catch exceptions in index.py
2019-04-03 14:39:29 -07:00
Chris Jerdonek 68bc0e0c53
Merge pull request #6339 from cjerdonek/vcs-subprocess-logging
Fix #1219: Prevent subprocess stdout and stderr from cluttering pip's stdout.
2019-04-03 14:36:44 -07:00
Clark Boylan 63ccc286a0 Consistently catch exceptions in index.py
In index.py we were catching requests.exceptions.RetryError and
requests.exceptions.SSLError but then also caught requests.HTTPError.
For consistency catch all of these requests exceptions using the
requests.exceptions path.
2019-04-03 11:49:07 -07:00
Quentin Pradet dbce8216e7
Add news entry for progress 1.5 update 2019-04-01 17:50:49 +04:00
Quentin Pradet c86460d1a4
Update progress to 1.5 2019-04-01 17:50:49 +04:00
Chih-Hsuan Yen e4936da2e1
Fix handling of requests exceptions when dependencies are debundled 2019-04-01 14:56:08 +08:00
Chris Jerdonek 71f506e71e Require --no-use-pep517 if using editable mode with pyproject.toml. 2019-03-31 05:40:08 -07:00
Caleb Martinez ac9010e87c Allow adding a custom string to pip's User-Agent via an environment variable (#5550) 2019-03-31 02:37:02 -07:00
Chris Jerdonek e0505bb152 Prevent subprocess stdout and stderr from cluttering pip's stdout. 2019-03-25 00:21:20 -07:00
Chris Jerdonek 55f7a712aa
Merge pull request #6331 from cjerdonek/issue-6314-editable-with-pep517
Show a nice error if editable mode is attempted with a pyproject.toml source tree
2019-03-23 17:32:22 -07:00
Alex Loosley d245434c02 Fix #5889: AttributeError: 'NoneType' object has no attribute 'netloc' (#6336) 2019-03-20 16:59:24 +01:00
Chih-Hsuan Yen 8ef3283fcf Ensure all pip._vendor.* modules are mapped to debundled correspondences (#6113)
With the original `vendored()` implementation and such an initialization sequence:

```
vendored("packaging")
vendored("packaging.version")
```

In `sys.modules`, `pip._vendor.packaging` is correctly connected to the debundled `packaging`, while `pip._vendor.packaging.version` is not, as the latter is `__import__`ed from the existing `pip._vendor.packaging` module. That results in the same issue as https://github.com/pypa/pip/issues/5429 - `pip._vendor.packaging.version.Version` and `packaging.version.Version` cannot be compared.

This patch attempts to fix this issue by skipping `__import__` from the vendored name. This is safe because `vendored()` is called only when `DEBUNDLED = True`, and vendored libraries are already deleted as per [debundling instructions](https://github.com/pypa/pip/blob/master/src/pip/_vendor/README.rst#debundling).
2019-03-15 10:26:35 +05:30
Chris Jerdonek cc2d299f76 Error out if installing a pyproject.toml-style (PEP 517) project in editable mode. 2019-03-14 05:49:39 -07:00
Chris Jerdonek 1599d65d36
Merge pull request #6312 from cjerdonek/subprocess-tests-and-spinner-fixes
Test call_subprocess more thoroughly; fix spinner edge cases
2019-03-11 23:19:58 -07:00
Steve Dower 293c91ee8a Configuration files may now also be stored under `sys.prefix` (#6268)
* Rename kinds.VENV to kinds.SITE and site_config_files to global_config_files
* Add tests for config file options
* Deprecate --venv in pip config
2019-03-07 11:14:56 +05:30
Juanjo Bazán 61e5970fa4 Fix typo (extra parenthesis). (#6316) 2019-03-06 03:43:20 -08:00
Chris Jerdonek fe793722b1 Fix a couple spinner edge cases. 2019-03-03 11:05:39 -08:00
Miro Hrončok d48475d008 Fix utils.encoding.auto_decode() LookupError with invalid encodings
utils.encoding.auto_decode() was broken when decoding Big Endian BOM
byte-strings on Little Endian or vice versa.

The TestEncoding.test_auto_decode_utf_16_le test was failing on Big Endian
systems, such as Fedora's s390x builders. A similar test, but with BE BOM
test_auto_decode_utf_16_be was added in order to reproduce this on a Little
Endian system (which is much easier to come by).

A regression test was added to check that all listed encodings in
utils.encoding.BOMS are valid.

Fixes https://github.com/pypa/pip/issues/6054
2019-03-01 20:16:18 +01:00
Daniele Esposti 729404d4c5 Redact the password from the extra index URL in log messages (#6295) 2019-03-01 04:21:45 -08:00
Chris Jerdonek 1fdd7e26c5
Merge pull request #6139 from jelmer/bazaar-export-perf
Bazaar: Export directly from the remote branch.
2019-03-01 01:36:02 -08:00
Chris Jerdonek a2ed253788 Whether to build wheels is no longer affected by --no-cache-dir. 2019-02-27 20:38:09 -08:00
Paul Moore 91ab257aa2 Add a news fragment 2019-02-27 17:53:23 +00:00
Chris Jerdonek 8d78ff0fce Prefix warning and error log messages. 2019-02-27 03:22:26 -08:00
Chris Jerdonek 821247dc36
Merge pull request #6273 from cjerdonek/issue-5499-detect-ci-for-user-agent
Fix #5499: Include in pip's User-Agent whether it looks like pip is in CI
2019-02-24 14:24:55 -08:00
Chris Jerdonek b88239918b
Merge pull request #6290 from cjerdonek/add-format-command
Add format_command_args().
2019-02-24 13:23:51 -08:00
Jon Dufresne 5779f55bd4 Replace six.next() with builtin next()
The builtin has been available since Python 2.6. Makes the code slightly
more forward compatible by removing an unnecessary use of six.
2019-02-24 22:04:16 +01:00
Benoit Pierre 61baf5fe80 improve handling of file URIs 2019-02-24 21:40:25 +01:00
Pradyun Gedam d4217f0cc3
Merge pull request #6129 from asottile/dead
delete some dead code
2019-02-24 22:08:16 +05:30
Pradyun Gedam 94a06ead43
Merge pull request #6263 from hroncok/mark_network
Mark 3 tests as network tests
2019-02-24 22:07:49 +05:30
Chris Jerdonek 0f6776388c Change format_command() to use shlex.quote(). 2019-02-22 02:52:06 -08:00
Anthony Sottile cbbc5f44ca delete some dead code
dead code detected via [dead](https://github.com/asottile/dead)
2019-02-20 11:50:59 -08:00