[Distutils] what is the difference in process between python setup.py install and pip install

julien tayon julien at tayon.net
Thu Sep 19 01:51:45 CEST 2013


Hello

I have always assumed that pip install . and python setup.py install . from
a same root directory of a package should produce the same results.

Pip is build tool, isn't it? Expected behaviour in my head  is:
- pip make a nice package (even from the actual dir)
- extract it in a build dir according to env settings
- cd to build, setenv
- and then do a python setup.py install

Thus I expected naively that pip install . and python setup.py install
should have the same results.

Where is my mistake ?

I have a reproducible case when the dependency handling differs if you use
pip install -r requirements.txt or when you use python setup.py install

https://github.com/zeromq/pyzmq/issues/414#issuecomment-24679800

I am trying to sort if the problem is environmental (OS related with bad
env), me being stupid (happens a lot), or software related.

I can reproduce it, however I cannot pinpoint what is the matter.


Is it something obvious I ignore? Is there a way to trouble shoot that
easily? Is there documentation that can help me understand easily the
differences between both?

I also have a very annoying bug that occurs when you install dependencies:
from time to time calling pip install in a virtualenv does not  : package
that are installed  failed to be seen by the module or by a requirement
needing previously installed pacakage.

My work around is to have a script that install every requirements one by
one sleep a second, sleep 1 second and then install the module.
This happens both on linux and windows.
(looks like https://github.com/pypa/pip/issues/1183)
It looks like a cache needing to be flushed and like a race condition.

Cheers,

Jul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130918/1c820b59/attachment-0001.html>


More information about the Distutils-SIG mailing list