[Distutils] "pip install -e ." vs. "python setup.py develop"

Chris Withers chris at simplistix.co.uk
Fri Apr 11 19:29:45 CEST 2014


On 07/04/2014 04:05, Noah Kantrowitz wrote:
> You should recommend using pip for it, mostly because as you said that will work even with packages that don't use setuptools :-) It also is required when doing a develop install with extras, though that requires a slightly more verbose syntax due to a bug in pip.

What's the syntax?

Chris

>
> --Noah
>
> On Apr 6, 2014, at 8:01 PM, Asheesh Laroia <lists at asheesh.org> wrote:
>
>> Hi lovely distutils people,
>>
>> I have a question, as I prepare for my "Python packaging simplified, for end users, app developers, and open source contributors" talk. I'm sure I'll have more; I'll end up probably making a few threads about them, since they'll come to me at random times.
>>
>>
>> For years, I've been recommending:
>>
>> $ python setup.py develop
>>
>>
>> as a standard way to make something hackable and available in a virtualenv. I notice that "python setup.py develop --user" exists, which is great, as it means that you don't even need to bother with the virtualenv.
>>
>>
>> Having said that, I also notice that:
>>
>> $ pip install -e .
>>
>> does the same thing.
>>
>> Should I be recommending one over the other?
>>
>> I'm going to learn toward "pip install -e ." even though I haven't been using it much personally, as it makes the talk more consistent -- I would then be able to say, "Always use pip for doing your installing." But I thought I'd ask about this. It seems that "pip install -e ." is the same as "python setup.py develop" except that pip runs setup.py with setuptools available, which addresses a problem where if the maintainer of a package's setup.py file doesn't "from setuptools import setup", then "python setup.py develop" won't work, whereas "pip install -e ." will always work.
>>
>> Unless I'm mistaken. So the question is -- can someone sanity-check the above?
>>
>> I'm hoping to pretend to be an outsider for the purpose of empathizing with the audience, and yet be enough of an insider to ask people on this list if what I'm saying is consistent with Modern PyPA Doctrine (which generally I'm happy to promote).
>>
>> -- Asheesh.
>> _______________________________________________
>> Distutils-SIG maillist  -  Distutils-SIG at python.org
>> https://mail.python.org/mailman/listinfo/distutils-sig
>
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________
>
>
>
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
             - http://www.simplistix.co.uk


More information about the Distutils-SIG mailing list