Stéphane Bidoul
52fd6436a2
Fix propagation of user_supplied with URL constrains
2022-05-01 19:43:25 +02:00
Paul Moore
6da9b5c694
Call the PEP 517 backend with the requirement's config settings
2022-04-21 18:30:48 +01:00
Paul Moore
af28440792
Store config settings on the install requirement
2022-04-21 18:30:48 +01:00
Tzu-ping Chung
846d8e5965
Try to cover Path interface differences
2022-04-12 03:31:46 +08:00
q0w
3820b0e52c
Replace Iterator[T] with Generator[T,None, None] ( #11007 )
...
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2022-04-09 16:11:58 +01:00
Russell Keith-Magee
d1f3c73697
Normalise paths when comparing egg-link from network drive ( #11011 )
...
Co-authored-by: Niko Pasanen <niko@pasanen.me>
2022-04-07 08:50:03 +01:00
Pradyun Gedam
e5542dc024
Move `BuildTracker` to `operations.build.build_tracker`
2022-03-26 12:09:32 +00:00
Pradyun Gedam
62516b8ad3
Rename PIP_{REQ -> BUILD}_TRACKER
2022-03-26 12:09:32 +00:00
Pradyun Gedam
cbfcbd2d94
Rename get_{requirement -> build}_tracker
2022-03-26 12:09:32 +00:00
Pradyun Gedam
4bc81e3c24
Rename `RequirementTracker` to `BuildTracker`
2022-03-26 12:09:23 +00:00
q0w
0c284520c6
Filter available distributions using hash declarations from constraints files ( #10962 )
2022-03-16 07:43:06 +00:00
Pradyun Gedam
d35bedc5cb
Merge pull request #10697 from jiunbae/main
...
Resolves junction links when deleting packages installed as editable
2022-02-19 11:50:41 +00:00
Pradyun Gedam
1cda23bd6b
Merge pull request #10795 from pradyunsg/better-subprocess-errors
2022-01-27 07:09:18 +00:00
James Gerity
5c24a798b8
Change VCS tooling verbosity along with pip's verbosity ( #9639 )
...
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
Co-authored-by: Pradyun Gedam <pradyunsg@users.noreply.github.com>
2022-01-25 08:54:02 +00:00
Pradyun Gedam
eb462744da
Raise the `LegacyInstallFailure` exception directly
2022-01-25 01:38:23 +00:00
Pradyun Gedam
d527e85146
Add a dedicated exception for metadata generation failures
2022-01-25 01:38:22 +00:00
Pradyun Gedam
2a617d5455
Improve presentation of `LegacyInstallFailure`
...
These errors now more clearly note where the error occurred and what
component is at fault.
2022-01-25 01:38:22 +00:00
Tzu-ping Chung
91f72674df
Remove pkg_resources from requirement parser
2021-12-04 17:57:33 +08:00
Tzu-ping Chung
498f313853
Remove pkg_resources usages from req_install
2021-12-04 17:57:33 +08:00
Tzu-ping Chung
cd01e4fd8f
Remove pkg_resources usages from utils modules
...
Relevant functionalities are moved into pip._internal.metadata.
2021-12-04 17:57:33 +08:00
Jiun Bae
0a205358fe
Update compare package path using os.path.samefile
2021-12-01 17:01:02 +09:00
Jiun Bae
c19f5f5f99
Update uninstall package link pointer path
2021-12-01 16:16:26 +09:00
Tzu-ping Chung
39bcfce66d
Pass arguments to closure instead of late binding
2021-11-20 19:59:57 +08:00
Tzu-ping Chung
35ec4375df
Fix editable-or-not egg-info uninstallation
2021-11-18 17:58:13 +08:00
Tzu-ping Chung
e1680b20fd
Fix distutils uninstallation error
2021-11-18 17:58:12 +08:00
Tzu-ping Chung
ad158b03e8
Fix types in tests on Windows
2021-11-18 17:58:12 +08:00
Tzu-ping Chung
c54d40474a
CHange ireq.satisfied_by to abstract distribution
2021-11-18 17:58:10 +08:00
Tzu-ping Chung
62b91dfbf1
Return abstract metadata type from ireq.get_dist()
2021-11-18 17:56:26 +08:00
Tzu-ping Chung
ebd693e0b5
Abstract pkg_resources from uninstall operation
2021-11-18 17:55:38 +08:00
Stéphane Bidoul
ae512892eb
Prepare legacy editable metadata in isolated env
...
When there is a pyproject.toml, metadata preparation must be
done in the isolated build environment for legacy editable installs too
(fixes a regression).
Also detect earlier if an editable install must go through the
legacy install path, to be sure to run it in an environment
with the correct build requirements.
2021-10-18 14:34:50 +02:00
Stéphane Bidoul
ddfeaaef20
Reject projects that have neither a pyproject.toml nor a setup.py
2021-10-18 14:31:11 +02:00
Alex Hedges
e1f81bfa4d
Fix many typos
2021-10-11 15:48:17 -04:00
Joseph Bylund
dee6690f06
Renames, moves, docstrings, comments
2021-10-07 07:11:33 -04:00
Joseph Bylund
bb8824439e
(joe) requirement creation is very expensive, and at least in my test case there were only ~200 unique requirement objects created in ~5-10 minutes of resolution time
2021-10-06 12:42:44 -04:00
Stéphane Bidoul
e377235356
Correctly indent metadata preparation messages
2021-09-29 18:28:04 +02:00
Stéphane Bidoul
826d566eb8
Add a spinner when preparing setup.py metadata
...
For symmetry with pyproject.toml metadata preparation.
2021-09-28 23:04:58 +02:00
Stéphane Bidoul
e5be3f796e
Add PEP 660 support (build_editable)
2021-09-28 23:04:51 +02:00
Jon Dufresne
60c274be2d
Complete type annotations of tests/unit/ directory
2021-09-23 05:44:54 -07:00
Stéphane Bidoul
2de1e5b1bf
Remove egg_link_path()
2021-09-21 11:18:02 +02:00
Jon Dufresne
cf7183d875
Remove six import from src/pip/_internal/req/req_install.py
...
Use Python 3 `raise exc from ...` semantics to replace the use of
six.reraise.
2021-08-08 09:49:00 -07:00
Alex Hedges
88703bbcee
Remove extra period in deprecation message
2021-08-02 23:58:53 -04:00
Pradyun Gedam
069b01932a
Blacken src/pip/_internal/req
...
Progresses the black formatting of the codebase further.
2021-07-24 09:47:54 +01:00
harupy
9d96e0777f
Convert type comments
2021-07-23 23:38:27 +09:00
Tzu-ping Chung
f6b184ccaf
Strip slash before Windows drive letter in path ( #10116 )
...
Functions like urllib.parse.urlsplit() parses a file:// URL created from
a non-UNC Windows absolute path with a leading slash in the path
component:
>>> from pathlib import Path
>>> from urllib.parse import urlsplit
>>> path = Path("C:/Users/VssAdministrator")
>>> parsed = urlsplit(path.as_posix())
>>> parsed.path
'/C:/Users/VssAdministrator'
This value unfortunately does not play well with path functions like
open(), so we performs some additional cleanup to strip that leading
slash.
This commit also contains some minor cleanup to unify how Windows is
detected, and how a file:// URL is fetched.
2021-07-22 15:28:43 +08:00
Joe Michelini
197392ca3d
Update src/pip/_internal/req/req_uninstall.py
...
Co-authored-by: Pradyun Gedam <3275593+pradyunsg@users.noreply.github.com>
2021-06-29 06:14:42 -04:00
Joe Michelini
6a346a4948
add default proceed to uninstall
2021-06-29 06:14:42 -04:00
Tzu-ping Chung
288bffc43c
Unify Python project root detection logic
...
A Python project root is now defined as containing a pyproject.toml, or
a setup.py (pre-PEP-517 legacy layout). After this patch, this logic
applies to all checks except parse_editable, where we check for setup.py
and setup.cfg instead since non-setuptools PEP 517 projects cannot be
installed as editable right now.
2021-06-19 15:29:04 +08:00
Tzu-ping Chung
c16585173b
Merge pull request #9450 from minrk/custom-log-level
2021-06-11 19:05:56 +08:00
Min RK
c87af08422
use setLoggerClass to define log.verbose
...
loaded in pip._internals.__init__
must use utils.logging.getLogger to get the right type annotation
instead of logging.getLogger, despite no actual difference in behavior
2021-06-11 11:59:51 +02:00
Pradyun Gedam
e89dbbd03e
Merge pull request #10031 from FFY00/no-setup-cfg
...
Remove support for setup.cfg only projects
2021-06-07 20:27:40 +01:00