1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00
Commit graph

345 commits

Author SHA1 Message Date
Pradyun Gedam 2b5e87cd37
Move operations.{generate_metadata -> build.metadata} 2019-11-02 20:11:30 +05:30
Pradyun Gedam c88da892db
Reduce indentation in warn_on_mismatching_name
Why: Makes it easier to read IMO.
2019-10-24 18:34:54 +05:30
Pradyun Gedam 2c18e1e500
Move warning on mismatching name to a method 2019-10-24 18:34:53 +05:30
Pradyun Gedam 219a9e9d23
Drop a conditional
Why: The metadata directory is always going to be available here. The
method is called *after* metadata generation.
2019-10-24 18:34:53 +05:30
Pradyun Gedam fb8eb15b9a
Handle unnamed requirements within move_to_correct_build_directory
Why: This is only called in one situation, so it makes sense to inline
the relevant bit of code from that method to here.
2019-10-24 18:34:33 +05:30
Pradyun Gedam 8dbf8461fc
Clean up wheel.move_wheel_files (#7176) 2019-10-20 13:26:48 +05:30
Pradyun Gedam 247290391a
Merge pull request #7239 from pradyunsg/refactor/move-prepare_pep517_metadata
Move prepare_pep517_metadata to generate_metadata
2019-10-20 11:19:37 +05:30
Pradyun Gedam 1875573daf
Ah the imports. 2019-10-20 00:32:02 +05:30
Pradyun Gedam e21e28f4eb
Move prepare_pep517_metadata to generate_metadata
Why: So that InstallRequirement is no longer responsible for this task.
2019-10-20 00:31:51 +05:30
Pradyun Gedam 2db6f428bf
Update imports to {index -> index.package_finder} 2019-10-19 22:24:01 +05:30
Christopher Hunt f86490317a
Merge pull request #7175 from chrahunt/refactor/centralize-setuptools-args
Centralize setuptools args construction
2019-10-18 21:16:30 -04:00
Pradyun Gedam 554207e704
Merge pull request #7180 from chrahunt/refactor/separate-get-dist-function
Factor get_dist implementation out of InstallRequirement
2019-10-18 00:02:44 +05:30
Chris Hunt a0b75cc460 Remove intermediate pip-wheel-metadata dir
Previously this was located in the source directory itself, but now
that we're using a temporary directory, there's no need for
pip-wheel-metadata.
2019-10-13 22:20:58 +02:00
Chris Hunt d25dc68942 Factor get_dist implementation out of InstallRequirement
With it outside of the class body and taking primitive values, this
should be easier to move into a separate module.
2019-10-12 20:03:09 -04:00
Chris Hunt 913f856739 Cleanup arguments, add docstring 2019-10-11 22:24:50 -04:00
Chris Hunt 39572ddd12 Don't pass InstallRequirement to install_unpacked_wheel
We are only using this value for logging. Passing a string reduces
coupling between InstallRequirement and this function.
2019-10-11 21:58:58 -04:00
Chris Hunt 4682f3cb9b Pass scheme to install_unpacked_wheel
This reduces the number of required arguments and helps establish a
convention for install_* functions, which should take a scheme instead
of the individual components.
2019-10-11 21:49:39 -04:00
Chris Hunt 578de7d863 Rename wheel install function 2019-10-11 21:41:47 -04:00
Chris Hunt c69d194d64 Move install args construction to setuptools_build 2019-10-11 20:26:46 -04:00
Chris Hunt dcd3509eea Finish extracting InstallRequirement.get_install_args 2019-10-11 20:26:23 -04:00
Chris Hunt 1a6d403690 Parameterize member access before moving function 2019-10-11 20:09:39 -04:00
Chris Hunt c202ae9d7e Make editable install args in setuptools_build 2019-10-11 19:29:26 -04:00
Chris Hunt e8b71ea33e Simplify constructing editable install args 2019-10-11 19:15:51 -04:00
Pradyun Gedam e600aebe7d
Move find_egg_info to operations.generate_metadata 2019-09-30 16:13:29 +05:30
Pradyun Gedam 1ad0495fdd
Rename {run -> runner}_with_spinner_message 2019-09-30 12:17:07 +05:30
Pradyun Gedam 65621002fc
Use run_with_spinner_message() for "setup.py install" 2019-09-30 12:16:50 +05:30
Pradyun Gedam 489312e4d9
Stop monkeypatching InstallRequirement.pep517_backend 2019-09-30 12:16:50 +05:30
Pradyun Gedam 46bd454e3e
Use pep517.Pep517HookCaller.subprocess_runner
Also, create a new utility function for showing a spinner when running
a subprocess.

Why: The subprocess_runner API was specifically added to make it
possible for pip to stop monkey-patching Pep517HookCaller, while still
maintaining its output style. The relevant monkeypatch will be removed
in a follow up commit.
2019-09-30 12:16:45 +05:30
Pradyun Gedam 2eafb0218b
Update all the imports as needed 2019-09-30 11:15:24 +05:30
Maxim Kurnikov 3692097cca add per-file disallow_untyped_defs=False, and set it to True globally 2019-09-29 23:31:15 +02:00
Pradyun Gedam 03392873ec
Refactor metadata directory handling (#7087) 2019-09-28 17:34:43 +05:30
Pradyun Gedam f916fbe333
Simplify handling of PEP 517 metadata temp dir 2019-09-28 12:17:41 +05:30
Pradyun Gedam ec5e9d30d3
Improve move_to_correct_build_directory
Why: Changes made are IMO much clearer, with a step by step flow to this
method that is easier to reason about.
2019-09-27 10:32:25 +05:30
Pradyun Gedam b01f301c75
Update get_dist to directly use metadata_directory 2019-09-27 10:32:25 +05:30
Pradyun Gedam 26fd8f24b0
Always set InstallRequirement.metadata_directory
Why: expecting metadata_directory to exist, once metadata is generated,
is easier to reason about, than considering that some kinds of
distributions set it while others do not.
2019-09-27 10:32:24 +05:30
Pradyun Gedam e7bd10115e
Start returning metadata directory from metadata generators
Why: Since the result is a single directory and it's better for the
resposibility of computing the exact location of the metadata directory
should be with the generator, that generates it.
2019-09-27 10:32:21 +05:30
Pradyun Gedam c6a2f0aac7
Rename {setup_py_dir -> unpacked_source_directory}
Why: Because PEP 517 means you won't have a setup.py in your unpacked sources.
2019-09-27 00:53:24 +05:30
Pradyun Gedam 108f9b6786
Cleanup InstallRequirement.egg_info_path (#7081) 2019-09-25 09:34:09 +05:30
Pradyun Gedam 618714b1bf
Factor out logic for locating egg-info directories
Why: A named function brings clarity to expressing what is happening.
2019-09-25 08:04:15 +05:30
Pradyun Gedam 72d5d140be
Define a function to use as sorting key
Why: It makes it clearer what the funky expression means.
2019-09-25 08:04:14 +05:30
Pradyun Gedam 14cbc5f8a4
Return early from the function
Why: Allows reducing indentation of the function body.
2019-09-25 08:03:57 +05:30
Christopher Hunt 928f86a162
Merge pull request #7048 from chrahunt/refactor/always-create-tempdirectory
Always create TempDirectory.path at __init__
2019-09-24 08:27:44 -04:00
Pradyun Gedam 15154079d2
Move run_egg_info into operations.generate_metadata (#7063)
Merge pull request #7063 from pradyunsg/refactor/metadata-generator-legacy
2019-09-22 20:01:57 +05:30
Pradyun Gedam c787fcb3e1
Merge pull request #7064 from pradyunsg/rename-correct-build-location
Better name for _correct_build_directory
2019-09-22 19:37:11 +05:30
Pradyun Gedam 359a670ba8
Use ZipFile as context manager in InstallRequirement.archive (#6988) 2019-09-22 12:51:42 +05:30
Pradyun Gedam 596b77c149
Better name for _correct_build_directory
Why: the older name doesn't clearly signal what is happening.
2019-09-22 12:49:20 +05:30
Chris Hunt 85dcaa74bb Unconditionally create TempDirectory.path 2019-09-22 00:02:46 -04:00
Pradyun Gedam 7fabb1621d
Merge pull request #7051 from pradyunsg/refactor/metadata-generator
Call into operations.generate_metadata to generate metadata
2019-09-21 22:34:49 +05:30
Pradyun Gedam 8a144447d7
Move run_egg_info logic into generate_metadata 2019-09-21 11:27:47 +05:30
Pradyun Gedam 6d8c3fdd29
Pass self to the metadata generation function 2019-09-20 19:43:14 +05:30
Pradyun Gedam b5495b4d1e
Introduce an operations.generate_metadata module
As things stand, it'll completely delegate all the metadata generation
to InstallRequirement's methods.

Follow ups will move related code into this module.
2019-09-20 19:43:13 +05:30
Chris Hunt fbdd02e2fd Manage InstallRequirement._temp_build_dir itself instead of its path 2019-09-19 22:09:01 -04:00
Chris Hunt 5e785993b8 Normalize style. 2019-09-17 19:14:39 -04:00
Pradyun Gedam ad68984ec6
Rename {build_location -> ensure_build_location} 2019-09-15 22:09:34 +05:30
Pradyun Gedam 56b6fcc83b
Merge pull request #6999 from chrahunt/refactor/refactor-2
Keep `InstallRequirement.archive` in-place
2019-09-10 21:48:51 +05:30
Chris Hunt 96a53d49ec Move archive description from TODO to docstring.
This whole class will be refactored, so the TODO is implicit.
2019-09-09 19:45:33 -04:00
Chris Hunt c46496fba6 Remove InstallRequirement.uninstalled_pathset
Last actual usages of this were removed in #4642.
2019-09-09 15:53:58 +02:00
Pradyun Gedam a7d8d56914
Remove unactionable FIXME in InstallRequirement (#7001)
Merge pull request #7001 from chrahunt/refactor/refactor-5
2019-09-09 10:09:32 +05:30
Chris Hunt 8f684d9eab Remove unactionable FIXME in InstallRequirement
`setup.py develop` doesn't accept `--install-headers`, so there's no
need for this comment.
2019-09-08 21:21:08 -04:00
Chris Hunt 94b34c3e54 Remove FIXME tracked in issue tracker. 2019-09-08 20:44:11 -04:00
Chris Hunt 4686e48e0f Remove unused update parameter from InstallRequirement. 2019-09-06 21:18:10 -04:00
Chris Hunt 2963e4e217 Use ZipFile as context manager (Python 2.7+). 2019-09-06 21:05:15 -04:00
Chris Hunt 0c5721fe84 Simplify directory delete marker file check. 2019-09-05 11:25:19 +02:00
Pradyun Gedam c23c52da4f
Merge pull request #6325 from hugovk/pip-wheel-metadata-in-tempdir
Use a temp dir for pip-wheel-metadata
2019-09-05 13:28:46 +05:30
Chris Hunt 7ce0eafe53 Combine separate editable conditions into one. 2019-09-04 21:26:45 -04:00
Pradyun Gedam 365fee27ec
Merge pull request #6963 from chrahunt/refactor/clean-egg-info-path-1
Clean up venv check in `InstallRequirement.egg_info_path`.
2019-09-04 07:46:18 +05:30
Chris Hunt 9dd7e0d58a Clean up venv check in InstallRequirement.egg_info_path. 2019-09-02 15:17:35 -04:00
Chris Hunt bdd3781858 Remove unused return value from InstallRequirement.ensure_source_dir 2019-09-02 14:36:14 -04:00
Pradyun Gedam 22e12d28af
Merge pull request #6932 from pradyunsg/misc/nicer-set-use-pep517
Improve flow of setting InstallRequirement.use_pep517
2019-09-01 21:37:43 +05:30
Pradyun Gedam 0fc90d5d1f
Improve flow of setting InstallRequirement.use_pep517 2019-08-27 13:37:51 +05:30
Albert Tugushev 3c9770d9b2 Redact single-part login credentials from URLs (#6921) 2019-08-26 15:50:07 -07:00
Chris Jerdonek 7783c47131
Hide security-sensitive strings in VCS command log messages (#6890) 2019-08-21 03:22:57 -07:00
Chris Jerdonek 63639bfc0f Make tags required in Wheel.support_index_min() and supported(). 2019-08-10 02:59:59 -07:00
Pradyun Gedam f377148f6d
Use mypy's inline configuration syntax for opt-outs 2019-07-30 12:39:51 +05:30
Prabakaran Kumaresshan f76014efac Add global options and no user config args to make_setuptools_shim_args (#6706) 2019-07-28 11:28:35 -07:00
Pradyun Gedam 537b0fca12
Change isort multi_line_output to 3 2019-07-22 10:15:27 +05:30
Pradyun Gedam c275e9d1ab Drop a useless import in favor of explicitness 2019-07-21 00:36:14 +02:00
Pradyun Gedam 21c4c4d5ee
Add a format_debug method to InstallRequirement 2019-07-20 10:29:14 +05:30
Xavier Fernandez fc618bf3b1 Move virtualenv detection functions into their own module 2019-07-19 10:03:22 +02:00
Xavier Fernandez 34092d3234 Move pip marker related constant & function in their own module
It didn't seem related with the rest of the locations module
2019-07-18 22:53:05 +02:00
Chris Jerdonek 0baec60bdc Address a couple strict_optional lines in req/req_install.py. 2019-07-14 23:07:48 -07:00
Chris Jerdonek 2b58bcde31 Remove strict_optional=False for download.py. 2019-07-14 23:07:48 -07:00
Prabakaran Kumaresshan 91b6b4ed54 Refactor SETUPTOOLS_SHIM with function make_setuptools_shim_args (#6691) 2019-07-12 01:29:41 -07:00
Bertil Hatt b47da272aa Set sys.argv[0] to the underlying setup.py in the setuptools shim. 2019-07-07 18:40:31 -07:00
Pradyun Gedam edbd0822dc Rename InstallRequirement.setup_py -> setup_py_path 2019-06-30 20:23:12 +02:00
Pradyun Gedam 0015089ed9 Suffix "_path" to InstallRequirement.pyproject_toml 2019-06-30 20:23:12 +02:00
Chris Jerdonek abe36d58da Simplify InstallRequirement.get_dist(). 2019-06-21 17:58:46 -07:00
Pradyun Gedam d5891784d1
Reduce indentation 2019-06-16 22:57:32 +05:30
Pradyun Gedam b1b097a307
pep517_data -> pyproject_toml_data 2019-06-16 22:57:07 +05:30
Pradyun Gedam 9c5eafc1c9
Simplify assignment of InstallRequirement.use_pep517 2019-06-16 22:56:40 +05:30
Chris Jerdonek 0ea639d644 Remove url as an instance attribute of the VersionControl class. 2019-05-06 22:59:18 -04:00
Chris Jerdonek fb2533a945 Revert "Error out if installing a pyproject.toml-style (PEP 517) project in editable mode."
This reverts commit cc2d299f76.
2019-04-26 20:19:24 -07:00
Chris Jerdonek 24688ee8e8 Revert "Require --no-use-pep517 if using editable mode with pyproject.toml."
This reverts commit 71f506e71e.
2019-04-26 20:19:05 -07:00
Chris Jerdonek 71f506e71e Require --no-use-pep517 if using editable mode with pyproject.toml. 2019-03-31 05:40:08 -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
Chris Jerdonek 1bb21fd3ff
Merge pull request #6093 from mkurnikov/req-types-finished
Finish types for pip._internal.req, set disallow_untyped_defs flag
2019-03-23 02:16:35 -07:00
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
Hugo 1bcc718804 Add note: This needs to be refactored to stop using atexit 2019-03-14 11:10:57 +02:00
Pi Delport 5f3c56e188 Fix some typos 2019-03-12 21:54:18 +01:00
Hugo 820f8bb87e Clean up temporary directory at exit 2019-03-11 15:03:23 +02:00
Hugo 7ee1a554d0 pip-wheel-metadata doesn't need to persist between pip invocations 2019-03-10 23:37:41 +02:00
Maxim Kurnikov 8c70363262 add missing trailing commas on multiline imports 2019-02-25 14:24:55 +03:00
Maxim Kurnikov 2d3cd4de86 merge latest master 2019-02-23 16:58:54 +03:00
Maxim Kurnikov c4dfdbe265 remove unused imports 2019-02-22 14:18:46 +03:00
Maxim Kurnikov f77b8ca051 remove #noqa: F401 2019-02-22 14:17:07 +03:00
Chris Jerdonek d2051f14bb Change the default of call_subprocess()'s show_stdout from True to False. 2019-02-12 05:11:51 -08:00
Chris Jerdonek d619aba150 Provide a better error message for a pyproject.toml editable install.
The message looks like this:

  File "setup.py" not found. Directory cannot be installed in editable
  mode: <absolute-dir-path>
  (A "pyproject.toml" file was found, but editable mode currently
  requires a setup.py based build.)
2019-01-26 07:00:22 -08:00
Maxim Kurnikov c4cf730145 sort imports under TYPE_CHECKING alphabetically 2019-01-25 20:08:59 +03:00
Maxim Kurnikov 932fb539ef finish types for pip._internal.req, disallow untyped defs 2018-12-19 19:39:35 +03:00
Pradyun Gedam 89ef777c18
Cleanup for issues fixed with mypy upgrade 2018-12-18 15:10:40 +05:30
Pradyun Gedam 22fe45d462
Fix new issues found in mypy 0.620 -> 0.650 2018-12-18 11:20:14 +05:30
Pradyun Gedam be5f4afcfc
Fix inconsistencies in mypy annotations 2018-12-17 23:56:00 +05:30
Maxim Kurnikov 05eb7d8e92 Add type annotations for pip._internal.req (#6063) 2018-12-17 16:43:00 +05:30
Paul Moore f06a0cb560 Move setup.py egg_info logging into run_egg_info 2018-11-14 19:24:27 +00:00
Paul Moore 85e4f8ec41 Fix some remaining TODO comments 2018-11-14 18:24:55 +00:00
Paul Moore 3a0f9b1c71 Remove unneeded TODO 2018-11-14 14:31:24 +00:00
Paul Moore f805ac15a7 Properly wrap all hook calls in our subprocess runner 2018-10-29 23:33:21 +01:00
Paul Moore 83979fedaa Actually use the new --[no-]use-pep517 option 2018-10-29 23:33:21 +01:00
Paul Moore b62284a81b Build PEP 517 and legacy wheels separately 2018-10-29 23:32:13 +01:00
Paul Moore 8fbf78d407 Phase 2 - generate metadata using PEP 517 hook 2018-10-29 23:28:23 +01:00
Tom Forbes 78371cc950 Redact basic authentication passwords from log messages (#5773)
Redact basic authentication passwords from URLs.
2018-10-19 02:06:10 -07:00
Pradyun Gedam 688bc1ee6f
Move InstallRequirement.from_req to constructors module 2018-08-21 20:41:36 +05:30
Pradyun Gedam a5a07fe61c
Move InstallRequirement.from_line to constructors module 2018-08-21 20:37:40 +05:30
Pradyun Gedam 69b494aa29
Move InstallRequirement.from_editable to a constructors module 2018-08-21 20:27:22 +05:30
Pradyun Gedam 7f3df6d2e2
Don't import Link from pip._internal.index 2018-08-16 14:29:24 +05:30
Paul Moore efa5ad31e7 Refactor load_pyproject_toml into a standalone module 2018-08-05 14:52:46 +01:00
Paul Moore ada59afaeb Fix bug in InstallRequirement: __str__ could return None 2018-08-04 08:50:35 +01:00
Paul Moore 8cdf6564fd Stop trying to lazy-load pyproject.toml, it isn't worth it. 2018-08-02 20:07:52 +01:00
Paul Moore bb4688cb8f Cosmetic fixes 2018-08-01 16:15:11 +01:00
Paul Moore c042e44ebe Keep the actual PEP 517 hook caller as an attribute of the InstallRequirement 2018-08-01 11:34:11 +01:00
Paul Moore 52d87f2e30 Refactoring metadata handling in InstallRequirement 2018-07-31 21:11:45 +01:00
Paul Moore caad33367c Updated comment omitted from previous commit 2018-07-31 19:23:59 +01:00
Paul Moore a0af1eaf02 Address review comments 2018-07-31 18:49:40 +01:00
Paul Moore 73a5847b26 Added unit tests for use_pep517 flag 2018-07-31 16:21:20 +01:00
Paul Moore c5a6843c08 Corrections to use_pep517 implementation 2018-07-31 16:21:20 +01:00
Paul Moore 877db9f4c1 Add use_pep517 flag to requirements 2018-07-31 16:21:19 +01:00
Paul Moore b9df39dbed Fix some formatting 2018-07-31 16:21:19 +01:00
Paul Moore fc7bbf1b39 Make pyproject.toml values into properties of the requirement 2018-07-31 16:21:19 +01:00
Paul Moore 055b5a726e A project is installable if it has either setup.py or pyproject.toml 2018-07-31 16:21:19 +01:00
Pradyun Gedam 4fc697847a
Update imports for the moved compat module 2018-07-29 18:32:20 +05:30
Pradyun Gedam 3e86bf786f
Sort Imports 2018-07-24 08:09:17 +05:30
Pradyun Gedam 8df8e53901
Merge branch 'master' into refactor/introduce-models 2018-07-24 01:35:56 +05:30
Pradyun Gedam 531be4f886
Merge pull request #5571 from bstrdsmkr/pep508_urls_as_deps
Allow PEP508 url dependencies in install_requires
2018-07-23 15:13:42 +05:30
Pradyun Gedam b8107a39f7
Fix message generation which caused a test failure 2018-07-21 16:27:15 +05:30
Pradyun Gedam 2dd3a28bac
Fix message nit pointed out by @pfmoore 2018-07-21 16:26:15 +05:30
Pradyun Gedam 4d772e6cf6
Start rejecting pyproject.toml files with an empty build-system table 2018-07-21 16:24:04 +05:30
Pradyun Gedam 7fe759bdb1
Cleanup existing PEP 518 logic 2018-07-21 16:24:04 +05:30
Pradyun Gedam c18f19a6a4
Don't warn if pyproject.toml does not contain build-system.requires 2018-07-21 12:58:27 +05:30
Pradyun Gedam e027cd8449
Update deprecation utilities to specify versions
Also:
- Remove conditional warning/error level logging
- Remove now-obsolete class
- Update call sites as per new signature
2018-07-15 17:15:31 +05:30
Pradyun Gedam a8eaf1e0ff
Add a helper function for deprecation (and use it) 2018-07-15 17:02:03 +05:30
Pradyun Gedam e6e0a14b68
Merge pull request #5523 from pradyunsg/deprecations
Remove items slated for removal in pip 11.0
2018-07-15 16:57:57 +05:30
Bstrdsmkr c71ac73102 Allow PEP508 url dependencies in install_requires 2018-07-11 08:23:49 -04:00
Pradyun Gedam e3b06f9e51
Isolate when pyproject.toml does not have build-system.requires 2018-07-09 07:48:36 +05:30
Pradyun Gedam 8a565aac75
Sort imports as per newer isort 2018-06-27 12:53:31 +05:30
Pradyun Gedam f5c6e1adec
Move import to top 2018-06-24 14:03:14 +05:30
Pradyun Gedam 39995b32db
Move Link to models 2018-06-24 02:38:21 +05:30
Dan Black bcd9db92bc Improve message when no listed files are found from PKG-INFO (#5515) 2018-06-21 22:55:56 +05:30
Pradyun Gedam f015aa9608
Remove support for cleaning up #egg fragment postfixes 2018-06-21 21:19:24 +05:30
Pradyun Gedam 2b68c7983e
Only disable isolation when build-system.requires is skipped 2018-06-19 16:27:07 +05:30
Pradyun Gedam 0eb566fa82
Rework PEP 518 requirement logic 2018-06-19 16:27:07 +05:30
Pradyun Gedam 0534aeb891
Start refusing non PEP 518 pyproject.toml files 2018-06-19 16:27:06 +05:30
Pradyun Gedam b41a712123
Merge pull request #5452 from pradyunsg/refactor/reorder-req-install-methods
Reorder methods in req_install to better group them
2018-06-17 12:13:39 +05:30
Pradyun Gedam 54722aa7ec
Remove unused imports 2018-06-13 13:17:30 +05:30
Łukasz Langa 39817bd302 Open pyproject.toml with UTF-8 encoding in all environments 2018-06-07 11:16:47 -07:00
Pradyun Gedam 47d58b8a49
🎨 2018-06-07 16:16:51 +05:30
Pradyun Gedam 3d516c210c
Reorder method in req_install to better group them 2018-06-07 16:16:51 +05:30
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)