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

168 commits

Author SHA1 Message Date
Xavier Fernandez 672e88adb6 Merge pull request #4048 from techtonik/insttype
Group package selection options together
2017-01-28 13:46:40 +01:00
Nikhil Benesch 20326d8b24 Failing exit status when no requirements specified (#4210)
* add failing tests for #2720

* fix #2720: exit status when no requirements specified

* Don't fail when blank requirements files specified
2017-01-06 23:21:46 +01:00
Ben Hoyt 2ea27501a3 Clarify default for --upgrade-strategy is eager (#4150) 2016-12-07 17:00:03 +01:00
anatoly techtonik cec581476c Group location selection options together 2016-11-02 15:40:38 +03:00
anatoly techtonik b622b2c968 Group package selection options together 2016-11-01 00:45:08 +03:00
Xavier Fernandez 1aa5e6a165 Merge pull request #3723 from wm75/mimodd_master
Report successfully installed versions of requirements
even if existing installations have been ignored
2016-10-27 23:22:52 +02:00
Xavier Fernandez 2df0ea9a26 Add --ignore-requires-python escape hatch 2016-10-27 18:43:59 +02:00
Pradyun 807f879422 Add an upgrade-strategy option (#3972) 2016-09-18 16:48:01 -04:00
Donald Stufft 403e398330 Deprecate --egg (#3956) 2016-09-07 16:43:58 -04:00
Wolfgang Maier e568adc41c consider root path when looking for installed versions 2016-05-30 11:33:25 +02:00
Chandrasekhar Atina b15c7f6b6a Fixed #3682 : pip install --target ignores platlib directories (#3694) 2016-05-26 06:39:44 -04:00
Wolfgang Maier 69dd4aefdf respect isolated mode when looking for installed versions 2016-04-12 10:29:32 +02:00
Wolfgang Maier 3e7fa5c9fa report successfully installed versions of requirements even if existing installations have been ignored 2016-04-11 17:12:36 +02:00
Marcus Smith ca47dc9949 Merge pull request #3252 from domenkozar/install/prefix
Support pip install --prefix
2015-11-26 09:30:20 -08:00
Domen Kožar 7270d272f4 Make sure --user and --prefix install flags conflict 2015-11-22 19:23:22 +01:00
Domen Kožar e14a66f1b9 Support --prefix argument to install command.
There was no way to override prefix for an installation for wheels
previously. The default it whatever sys.prefix points to.
2015-11-22 19:13:51 +01:00
Erik Rose c62cd71f0f Add --require-hashes option to pip download and pip wheel.
Those commands already checked hashes, since they use RequirementSet, where the hash-checking is done.

Reorder some options so pre, no-clean, and require-hashes are always in the same order.
2015-10-07 17:33:57 -04:00
Erik Rose 11dbb92440 Switch from --sha256 etc. to a single option: --hash.
Everybody seems to favor this. Spelled -H, it's still pretty short. And it is less unusual programmatically.
2015-09-24 22:16:00 -04:00
Erik Rose 1e41f01823 Add checks against requirements-file-dwelling hashes for most kinds of packages. Close #1175.
* Add --require-hashes option. This is handy in deployment scripts to force application authors to hash their requirements. It is also a convenient way to get pip to show computed hashes for a virgin, unhashed requirements file. Eventually, additions to `pip freeze` should fill a superset of this use case.
  * In --require-hashes mode, at least one hash is required to match for each requirement.
  * Option-based requirements (--sha256=...) turn on --require-hashes mode implicitly.
  * Internet-derived URL-based hashes are "necessary but not sufficient": they do not satisfy --require-hashes mode when they match, but they are still used to guard against transmission errors.
  * Other URL-based requirements (#md5=...) are treated just like flag-based ones, except they don't turn on --require-hashes.
* Complain informatively, with the most devastating errors first so you don't chase your tail all day only to run up against a brick wall at the end. This also means we don't complain that a hash is missing, only for the user to find, after fixing it, that we have no idea how to even compute a hash for that type of requirement.
  * Complain about unpinned requirements when hash-checking mode is on, lest they cause the user surprise later.
  * Complain about missing hashes.
  * Complain about requirement types we don't know how to hash (like VCS ones and local dirs).
* Have InstallRequirement keep its original Link around (original_link) so we can differentiate between URL hashes from requirements files and ones downloaded from the (untrustworthy) internet.
* Remove test_download_hashes, which is obsolete. Similar coverage is provided in test_utils.TestHashes and the various hash cases in test_req.py.
2015-09-24 22:16:00 -04:00
Mathew Jennings 417f79d8b8 Add pip download command and deprecate pip install --download.
`pip download` has the same functionality as `pip install --download`,
and the behavior of `pip install --download` is preserved with a deprecation
warning.  `pip install --download` will be removed in pip version 10.
2015-09-13 17:41:00 -04:00
Xavier Fernandez b290e13cfa Allow --pre option in requirement files
closes #1273
2015-09-05 23:13:03 +02:00
Donald Stufft 6afc718307 Remove items slated for removal in pip 8.0 2015-09-03 10:55:11 -04:00
Donald Stufft 0f5d4286a5 Deprecate and Noop the PEP 438 functionality due to PEP 470 2015-09-02 23:47:05 -04:00
Min RK aa0099a641 check that wheel cache dir is writable
before building wheels. Warning is copied from http cache check.

HTTP cache has a similar check and warning,
but wheels would still try and fail to build.
2015-07-02 13:10:47 -07:00
James Polley b227c45a7b Ignore distutils prefix when using --user
Fixes bug #2683

There are two changes here; one to fix the using-wheels codepath and one
to fix the no-wheels codepath. Two tests are introduced, one to test
each codepath.
2015-06-26 19:08:45 +10:00
Robert Collins bb0b429a49 Issue #2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.
2015-06-03 06:38:33 +12:00
Robert Collins a6613ab507 Issue #2780: Fix assertion installing with no cache.
This was an oversight.
2015-05-14 17:41:37 +12:00
Robert Collins 582af6e684 Issue #2677: Disable wheels for setup.py options.
Using --install-options, --build-options, --global-options changes
the way that setup.py behaves, and isn't honoured by the wheel code.
The new wheel autobuilding code made this very obvious - disable
the use of wheels when these options are supplied.
2015-04-24 16:14:48 +12:00
Robert Collins 6aec23cafe Issue #2675: Granular control over wheels/sdists
With wheel autobuilding in place a release blocker is some granular
way to opt-out of wheels for known-bad packages. This patch introduces
two new options: --no-binary and --only-binary to control what
archives we are willing to use on both a global and per-package basis.

This also closes #2084
2015-04-24 08:52:48 +12:00
Robert Collins ec46a3bac4 Replace wheel cache cache_dir with an object.
Wheel cache lookups become more complex when we wish to allow binary
blacklisting. Rather than passing more parameters around, replace
cache_root with wheel_cache, and create a wheel cache in all the
relevant command entry points.
2015-04-23 10:03:50 +12:00
Robert Collins 0e57ebc008 Make adding options be just function calls.
The .make is just sugar for 'call a function' that gets in the way of
just having functions.
2015-04-17 15:04:25 +12:00
Robert Collins 08acb6670d Issue #2140: Build wheels automatically
Building wheels before installing elminates a cause of broken environments -
where install fails after we've already installed one or more packages.

If a package fails to wheel, we run setup.py install as normally.
2015-04-13 18:33:07 +12:00
Robert Collins 4926409340 Issue #2563: Read cached wheels from ~/.cache/pip
This won't put wheels into that directory, but will read them if they
are there. --no-cache-dir will disable reading such wheels.
2015-04-13 18:33:07 +12:00
Robert Collins 12e719db78 Create ensure_dir helper.
We had a very widely used pattern which can be factored out for a mild
saving in LOC, and a gain in clarity.
2015-04-07 08:55:52 -04:00
Donald Stufft f41fee6a21 Reduce duplicate code in wheel and install commands.
(cherry picked from commit 9ed1dd75fc1d2c7a747066a90cd897db441319e0)
2015-04-07 08:36:14 -04:00
Donald Stufft b7309c6bcc Remove the items deprecated for removal in 7.0 2015-04-07 04:20:51 -04:00
Robert Collins ff33e17046 Document locate_files removal plan. 2015-03-19 15:05:22 +13:00
Joseph Long 176d0c5fee Fixes #2483: pip install --user option un(der)documented 2015-03-05 13:39:14 -05:00
Donald Stufft 0bc8aa5622 Style fixes for the latest flake8 2015-02-24 07:46:10 -05:00
Donald Stufft 461d59f41e Check for --no-install before --download forces it to be set 2015-02-04 14:30:37 -05:00
Marc Abramowitz 8e2d441dab Displays info about [un]installed versions
Displays version when installing and uninstalling -- e.g.:

    Successfully installed pyrepl-0.8.4 pytest-2.6.4

and:

    Uninstalling pyrepl-0.8.4:
      Successfully uninstalled pyrepl-0.8.4
    Uninstalling pytest-2.6.4:
      Successfully uninstalled pytest-2.6.4
2014-12-18 17:18:46 -08:00
Donald Stufft 5b817f960b --isolated should isolate from ~/.pydistutils.cfg as well 2014-12-11 11:51:06 -05:00
Donald Stufft ddb2f1b459 Deprecate accessing non secure origins by default
* 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.
2014-12-10 16:35:54 -05:00
Donald Stufft 01610be0d5 Use a secure randomized build directory when possible 2014-11-11 20:19:10 -05:00
Paul Moore 7bc51305a7 Clarification of pip install -U help 2014-10-17 14:50:44 +01:00
Marcus Smith 40bdaa75aa reverse the deprecation of --build and --no-clean 2014-09-25 22:03:58 -04:00
Donald Stufft 0e96b1af4b Switch versioning from X.Y.Z to X.Y dropping the leading 1 2014-09-17 22:05:31 -04:00
Donald Stufft ae5e9b45a9 Update logging calls to the match the stdlib logging 2014-09-11 09:07:40 -04:00
Paul Moore f6b0665553 Merge pull request #2007 from jonparrott/develop
Fixing issues with install's --target option.
2014-09-11 14:04:26 +01:00
Donald Stufft 767d11e49c Switch to using the stdlib logger instead of pip.log 2014-09-10 09:36:09 -04:00