Commit Graph

30 Commits

Author SHA1 Message Date
Łukasz Langa 39817bd302 Open pyproject.toml with UTF-8 encoding in all environments 2018-06-07 11:16:47 -07:00
Benoit Pierre 7b4790d0ca cleanup PEP 518 implementation
- remove unused `BuildEnvironment` parameter: `no_clean`
- move helper to install build requirement to the `BuildEnvironment` class
- simplify a little the 2 different code paths (with and without build isolation)
2018-05-18 23:45:55 +02:00
Benoit Pierre 6da1d9e47c fix PEP 518 support
* fix build environment handling when using PyPy
* do use the build environment for all build commands
* allow installing and building a wheel of a PEP 518 enabled
  package without prior installation of setuptools and/or wheels
* fix check for minimum supported requirements for PEP 518 support:
  - correctly handle complex requirements
  - both setuptools and wheels are needed
2018-04-08 14:06:11 +02:00
Pradyun Gedam c2a4ea4731
Merge branch 'master' into refactor/reduce-action-at-distance 2018-03-30 11:15:50 +05:30
Paul Moore eb62a44aaf
Merge pull request #5114 from pfmoore/vendoring
Update vendored libraries
2018-03-24 14:10:36 +00:00
Paul Moore 701d88d06d Placate flake8 (2 spaces before inline comment) 2018-03-24 11:55:09 +00:00
Paul Moore 6e8af823f1 Silence invalid mypy errors (see python/typeshed#1985) 2018-03-24 11:41:51 +00:00
Phil Pennock 23cd8f6899 Keep install options in requirements.txt from leaking
The list of install options passed into the setup routine is mutable,
passed by reference, so adding items for "this package" to that list
mutates the options for all subsequent packages.

Isolate the lists before mutating them.

Includes a functional test, which has been confirmed to fail without
this fix.

Fixes #3763
Fixes #4453
Fixes #5089
2018-03-20 16:23:34 -04:00
Pradyun Gedam 255a518157
Merge branch 'master' into refactor/reduce-action-at-distance 2018-03-03 02:08:01 +05:30
xoviat 60a7a8fe9c Run 'setup.py develop' in the build environment 2018-01-28 16:38:46 -06:00
xoviat 8dad780026 Address review comments 2018-01-27 11:04:43 -06:00
xoviat 958a9369f5 Make BuildEnvironment a proprety of Requirement 2018-01-26 11:06:00 -06:00
Pradyun Gedam 5ea50d2d8b
Move PEP 518 info fetching into InstallRequirement 2018-01-23 22:10:07 +05:30
Pradyun Gedam 055dcb8daf
Assign is_direct outside RequirementSet 2018-01-21 16:17:37 +05:30
Pradyun Gedam 01c985a663
Reduce classes with pycompile attribute 2018-01-21 16:16:43 +05:30
Pradyun Gedam b1cb27d34e
Reduce classes with target_dir attribute 2018-01-21 16:16:42 +05:30
Pradyun Gedam de7d42feb9
Reduce classes with use_user_site attribute 2018-01-21 16:16:19 +05:30
Pradyun Gedam 2e7e1a972d
Merge pull request #4926 from pradyunsg/tests/rename-basic-tests
Rename a few tests to add the word "basic"
2018-01-20 08:44:49 +05:30
Pradyun Gedam 729990c986
Round 1 of Cleanups (#4844)
* misc: fix typo
* misc: 🎨 cleanup parenthesis
* misc: 🎨 minor simplifications
* tests: fix test_console_to_str_warning
2017-12-25 15:23:27 +05:30
Pradyun Gedam e31d784b41
Rename a few tests to add the word "basic"
This essentially allows me to do an overall check general check by running the tests using pytest's `-k basic` syntax. Given that I like running tests often and that, in general, I make typos more often than changes that break core functionality, I think this will reduce cycle times for me.
2017-12-16 23:43:46 +05:30
Anthony Sottile 9762eb02e3 Upgrade syntax in src/pip/_internal
Changes were automated via https://github.com/asottile/pyupgrade

See #4921
2017-12-14 21:59:22 -08:00
Gabriel Curio ce674d2ca1 Fix unassigned variable.
In the event of an error, 'req' will be unassigned. This will cause another error in the exception.

Replace 'req' with 'name.'
2017-12-02 15:50:03 +01:00
Pradyun Gedam 353a13ddff
isort: Include trailing commas 2017-11-21 13:23:59 +05:30
Pradyun S. Gedam 8222d788f6
Switch pip uninstall behaviour to be idempotent
pip uninstall no longer aborts if a package is not installed; instead
it prints a warning that the package is not installed and it is
skipping the uninstallation of it for this reason.
2017-11-03 22:28:24 +05:30
Pradyun S. Gedam e8bdaa76e5
Use return values instead of attributes 2017-11-03 22:28:24 +05:30
Mathieu Bridon 62875be050 Record installed files in a deterministic order
Installed files are recorded by Pip in the order the underlying tool
(Distutils, Setuptools, ...) recorded them.

Unfortunately, at least Setuptools doesn't record them in a
deterministic order in the case of a directory being installed, as it
uses os.walk to find the list of files.

We could fix all those underlying tools to record their files in a
deterministic order in all situations. But fixing it once here in Pip
for all tools is certainly simpler and more future-proof.

This makes the installation more reproducible, and therefore more
verifiable.
2017-10-26 22:29:19 +02:00
Benoit Pierre 2243562b0e Fix install warning message about mismatched versions 2017-10-08 00:18:52 +02:00
Benoit Pierre 961737ab98 Fix integration tests on Windows (#4769) 2017-10-06 20:51:42 +01:00
Pradyun Gedam fc7ca26489 Warn user when installing scripts outside PATH (#4553) 2017-10-02 17:54:37 +01:00
Donald Stufft 95bcf8c5f6 Move all internal APIs to pip._internal 2017-08-31 14:53:00 -04:00
Renamed from pip/req/req_install.py (Browse further)