https://github.com/pypa/pip/pull/1264
On Oct 27, 2013, at 7:45 PM, Nick Coghlan <ncogh...@gmail.com> wrote: > > On 28 Oct 2013 09:11, "Marcus Smith" <qwc...@gmail.com> wrote: > > > > Chris: > > to be clear, after talking to Donald, we interpreted your question > > differently. > > > > - If you're distributing library Y, and it depends on X, but it now needs a > > custom/fixed fork of X, then what Donald said, rename and re-publish (or > > vendor it). > > - If you just need to override a buggy pypi package locally in your app Y > > install, then what I said (you can also use a vcs requirement form, and not > > have to package you fork) > > And to clarify the rationale for these as the official solutions: installing > modified software under the *same* name as the original is not something we > wish to support through PyPI, as it makes even cursory security audits far > more difficult than they should be, and can cause additional confusion when > debugging problems. > > If a package maintainer for a dependency doesn't release regular updates or > is otherwise not responsive to bug reports, then the appropriate solutions > are: > - offering a function for runtime monkey patching of the dependency > - bundling a patched copy directly > - forking the dependency > - using application level dependencies to force installation of the patched > version > > Implicit monkey patching and silently replacing the upstream dependency with > a patched version is quite user hostile when publishing software for use by > others in a Python installation that may be used to run multiple independent > applications. > > Thinking about this further, perhaps we should institute a PyPI side lockout > for usage of dependency links in *new* projects? (similar to what happened > for the external hosting support and is proposed for direct references in PEP > 426) > > (Which would put this in YAPP territory - *sigh*) > > Cheers, > Nick. > > P.S. Yet Another Packaging PEP. Feel free to infer the implied presence of > additional adjectives ;) > > > > > > > On Sun, Oct 27, 2013 at 3:52 PM, Marcus Smith <qwc...@gmail.com> wrote: > >> > >> > >> > >>> > >>> So I asked the person I know, and this is what he said, "Yes, we have > >>> to use it! It's the only way to allow a package to install other > >>> packages that aren't on PyPI-- for instance, a custom fork of a > >>> library." > >>> > >>> Is there another approach or work-around he can be using? What is the > >>> "right" way for him to do it? > >> > >> > >> e.g. you find a bug in SomeProject-1.4 on pypi (which is a dependency in > >> your app install) > >> fork it, fix it, and re-version it to SomeProject-1.4-myfork1, then > >> package it, and place it in "/my/forks" > >> and then "pip install --find-links=/my/forks/ my_app" > >> > >> as for fork versioning in the long run, that is intended to be covered in > >> PEP440, with a conversation happening here: > >> https://bitbucket.org/pypa/pypi-metadata-formats/issue/1/add-local-numbering-to-pep-440 > >> > >> > >> > >>> > >>> > >>> --Chris > >>> _______________________________________________ > >>> Distutils-SIG maillist - Distutils-SIG@python.org > >>> https://mail.python.org/mailman/listinfo/distutils-sig > >> > >> > > > > > > _______________________________________________ > > Distutils-SIG maillist - Distutils-SIG@python.org > > https://mail.python.org/mailman/listinfo/distutils-sig > > > > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > https://mail.python.org/mailman/listinfo/distutils-sig ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig