We are using pip internals for things pip wasn’t implemented for. Specifically, Pipenv uses pip’s package-fetching functions to implement its platform-agnostic resolver. pip does not have this, so there’s no functional overlap here. Those utilities are used to build something that doesn’t exist in pip, so there’s no duplicated efforts.
My recent focus on making sense of packaging implementations and splitting out parts of pip is exactly to prevent potential duplicated efforts. If we can’t use pip internals, let’s make things we want to use *not* internal! TP > On 25/9, 2018, at 18:38, Chris Jerdonek <chris.jerdo...@gmail.com> wrote: > > On Tue, Sep 25, 2018 at 3:21 AM, Nick Coghlan <ncogh...@gmail.com> wrote: >> On Tue, 25 Sep 2018 at 19:48, Chris Jerdonek <chris.jerdo...@gmail.com> >> wrote: >>> What I'm trying to gauge is, if the plan is for pipenv not to depend >>> on pip, and pipenv has strictly greater functionality than pip, then >>> what purpose will PyPA have in continuing to develop pip in addition >>> to pipenv? >> >> That's not the plan, as all of pip's features for actually >> installing/uninstalling packages, and for introspecting the *as built* >> package environment, aren't things where pipenv's needs diverge from >> pip's. > > That's not what Tzu-ping said though. In an earlier email, he said, > "If we can’t use pip internals, then yes, the plan is to not depend on > pip." > > --Chris > > >> >> Where their needs diverge is at the dependency resolver level, as >> pipenv needs to be able to generate a lock file for an arbitrary >> target environment that may not match the currently running Python >> interpreter *without* necessarily installing those packages anywhere >> (although it may need to build wheels to get the dependency listing), >> whereas pip has the more concrete task of "get theses packages and >> their dependencies installed into the currently active environment". >> >> If it helps, think of pipenv relating to pip in much the same way as >> pip-tools (pip-compile/pip-sync) relates to pip, just with Pipfile and >> Pipfile.lock instead of requirements.in and requirements.txt. >> >> Cheers, >> Nick. >> >> -- >> Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia -- Distutils-SIG mailing list -- distutils-sig@python.org To unsubscribe send an email to distutils-sig-le...@python.org https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/LYY4SED3GISTJPNURZKAM45FZMYAAVKF/