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
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.
It looks like a cache needing to be flushed and like a race condition.