Skip to content

Add vendor library management support to pip #519

Closed
wants to merge 3 commits into from

4 participants

@ianb
ianb commented Apr 26, 2012

Do a lookup for config files, looking from the current directory for pip.conf/.pip.conf/pip.ini
Do some limited %() substitution in config files
Handle empty lines in config files better

This is a refreshing of #491 (with bad commits removed)

Original description:

This pull request makes pip look in the current and parent directories for pip.conf and loads it. Also %(here)s gets substituted in config values.

The motivation here is to make directory-local vendor libraries easier, with a config file like:

[install]
install_option = --install-purelib=%(here)s/vendor
    --install-platlib=%(here)s/vendor-binary
    --install-scripts=%(here)s/vendor/bin

Or something like that... the idea isn't complete. Feedback appreciated.

ianb added some commits Apr 26, 2012
@ianb ianb Add --force/-f option to pip uninstall.
Do a lookup for config files, looking from the current directory for pip.conf/.pip.conf/pip.ini
Do some limited %() substitution in config files
Handle empty lines in config files better
bfaf257
@ianb ianb clarify what happens to scripts 1e7c3fc
@ianb ianb Add --script-fixup option to install, that lets you rewrite all scrip…
…ts that are installed.
620a84c
@ianb
ianb commented Apr 27, 2012

The second commit adds a new option which can be used to facilitate the creation of scripts that use vendor libraries

@pnasrat
pnasrat commented May 13, 2012

This generally looks good to me, but I'd like to have some tests anyway.

@gvalkov gvalkov referenced this pull request May 15, 2012
Closed

Rework command handling #463

@avinoamr
avinoamr commented Feb 4, 2013

@pypa this would be a great addition as it will make the maintenance of self-encapsulating projects easier. Can you please update on the status of this pull-request? I'd love to help fill in the gaps if you think anything's missing.

@pnasrat
pnasrat commented Feb 6, 2013

@avinoamr as before it needs tests - it also needs to apply cleanly if you want to take that up feel free.

@avinoamr

@ianb ian, what's the use-case here? why did you add the 'sys.path' option to the global config?

ianb replied Feb 7, 2013

Another change allows for non-global config files, e.g., project-specific config files. In the project-specific case you might have project-specific locations where you are installing a library (e.g., using --install-option="--install-lib=..."). That puts the package in, but doesn't let pip find the package, both for uninstallation, and to see what dependencies might already be installed.

@dstufft
Python Packaging Authority member
dstufft commented Aug 30, 2014

I'm going to close this, It's been awhile and it has no active work being done on it. I'm also not entirely sure that it's a good idea in general.

@dstufft dstufft closed this Aug 30, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.