[TIP] Dependencies installation order with Tox

Aaron Meurer asmeurer at gmail.com
Sun Jun 26 20:35:42 PDT 2011


Well, based on the pip issue you linked to, they won't fix it.  And
according to the corresponding scipy issue
(http://projects.scipy.org/scipy/ticket/1429), they won't fix it
either.  So I don't think it's going to get any love until SciPy moves
to static metadata (and who knows when that will happen).

Is there perhaps some way I could "trick" tox into installing numpy
first or separately.  Maybe I could take advantage of the caching
somehow?  Or is there more advanced syntax available for deps (e.g.,
if I could get it to run an arbitrary command, then I could do this)?

Otherwise, I guess my workaround will have to be testing numpy only,
and relying on my non-tox, systemwide testing to test for scipy
compatibility (fortunately, in SymPy, the library I am testing, scipy
usage is completely optional and very minimal).

Aaron Meurer

On Sun, Jun 26, 2011 at 4:30 AM, holger krekel <holger at merlinux.eu> wrote:
> On Mon, Jun 20, 2011 at 14:50 -0600, Aaron Meurer wrote:
>> Right.  I rather suspected the problem was with SciPy.
>>
>> Is there a way around this?  The way it is, I can't test with both
>> scipy and numpy in tox.
>
> I don't know of an immediate work around i am afraid.
> Maybe you could raise the question with the people on the
> pip related issue.
>
> best,
> holger
>
>> Aaron Meurer
>>
>> On Mon, Jun 20, 2011 at 9:39 AM, holger krekel <holger at merlinux.eu> wrote:
>> > Hi Aaron,
>> >
>> > gratefully, Jannis Leidel pointed me to this issue:
>> >
>> >    https://github.com/pypa/pip/issues/25
>> >
>> > which indicates and summarizes the problems you are seein.
>> > The conclusion there is that this is a problem of scipy.
>> >
>> > best,
>> > holger
>> >
>> > On Mon, Jun 20, 2011 at 01:47 -0600, Aaron Meurer wrote:
>> >> No, it does not.  I get
>> >>
>> >> Downloading/unpacking scipy
>> >>   Downloading scipy-0.9.0.zip (7.6Mb): 7.6Mb downloaded
>> >>   Running setup.py egg_info for package scipy
>> >>     Traceback (most recent call last):
>> >>       File "<string>", line 14, in <module>
>> >>       File "/Users/aaronmeurer/Desktop/py25/build/scipy/setup.py",
>> >> line 181, in <module>
>> >>         setup_package()
>> >>       File "/Users/aaronmeurer/Desktop/py25/build/scipy/setup.py",
>> >> line 131, in setup_package
>> >>         from numpy.distutils.core import setup
>> >>     ImportError: No module named numpy.distutils.core
>> >>     Complete output from command python setup.py egg_info:
>> >>     Traceback (most recent call last):
>> >>
>> >>   File "<string>", line 14, in <module>
>> >>
>> >>   File "/Users/aaronmeurer/Desktop/py25/build/scipy/setup.py", line
>> >> 181, in <module>
>> >>
>> >>     setup_package()
>> >>
>> >>   File "/Users/aaronmeurer/Desktop/py25/build/scipy/setup.py", line
>> >> 131, in setup_package
>> >>
>> >>     from numpy.distutils.core import setup
>> >>
>> >> ImportError: No module named numpy.distutils.core
>> >>
>> >> ----------------------------------------
>> >> Command python setup.py egg_info failed with error code 1
>> >> Storing complete log in /Users/aaronmeurer/.pip/pip.log
>> >>
>> >> which is basically the same error that tox gave me.  But if I do
>> >>
>> >> py25/bin/pip install numpy
>> >> py25/bin/pip install scipy
>> >>
>> >> it works (actually, scipy exits with a compiler error, but I think I
>> >> can fix that by making it compile an older version, and anyway it's
>> >> unrelated).
>> >>
>> >> I know almost nothing about how this stuff works, but if I had to
>> >> guess, I'd say scipy isn't listing numpy as a dependency correctly.
>> >> The question is, why does pip insist on installing scipy first, even
>> >> when it is given second?
>> >>
>> >> Aaron Meurer
>> >>
>> >> On Mon, Jun 20, 2011 at 1:28 AM, holger krekel <holger at merlinux.eu> wrote:
>> >> > Hi Aaron,
>> >> >
>> >> > if you simply do:
>> >> >
>> >> >    virtualenv --distribute --no-site-packages -p /sw/bin/python2.5 py25
>> >> >    py25/bin/pip install numpy scipy
>> >> >
>> >> > does it work?  If so, can you remove .tox (to remove the download cache)
>> >> > and re-invoke it?
>> >> >
>> >> > best,
>> >> > holger
>> >> >
>> >> > On Sun, Jun 19, 2011 at 19:26 -0600, Aaron Meurer wrote:
>> >> >> Hi again.
>> >> >>
>> >> >> I'm having another problem with dependencies with tox.  I'm trying to
>> >> >> test using the dependencies numpy and scipy, but they do not install
>> >> >> properly.  From what I can tell, scipy requires numpy, but it attempts
>> >> >> to install scipy first, and so the whole thing fails.  This happens
>> >> >> even though I have numpy listed first in the deps list.
>> >> >>
>> >> >> I have attached a sample tox.ini file and output of the command tox -c
>> >> >> tox.ini.test -v -r to demonstrate.  Note the basepython is just to
>> >> >> ensure it uses fink's Python on my machine, which has numpy and scipy
>> >> >> installed. I have both Python 2.5 and 2.7 just to see if it would
>> >> >> work, but it appears that the behavior in both is the same.
>> >> >>
>> >> >> Aaron Meurer
>> >> >
>> >> >> [TOX] emptying /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/log
>> >> >> [TOX] using tox.ini: /Users/aaronmeurer/Documents/python/sympy/sympy/tox.ini.test
>> >> >> [TOX] using tox-0.9 from /Library/Python/2.6/site-packages/tox-0.9-py2.6.egg/tox/__init__.pyc
>> >> >> ______________________________________________________________________________________________ [tox sdist] _______________________________________________________________________________________________
>> >> >> [TOX] ***creating sdist package
>> >> >> [TOX] emptying /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/dist
>> >> >> [TOX] /Users/aaronmeurer/Documents/python/sympy/sympy$ /usr/bin/python setup.py sdist --formats=zip --dist-dir .tox/dist >.tox/log/0.log
>> >> >> [TOX] ***copying new sdistfile to '/Users/aaronmeurer/.tox/distshare/sympy-0.7.0.rc2.zip'
>> >> >> ___________________________________________________________________________________________ [tox testenv:py25] ___________________________________________________________________________________________
>> >> >> [TOX] ***recreating virtualenv py25 (configchange/incomplete install detected)
>> >> >> [TOX] emptying /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25
>> >> >> [TOX] /Users/aaronmeurer/Documents/python/sympy/sympy/.tox$ virtualenv --distribute --no-site-packages -p /sw/bin/python2.5 py25 >py25/log/0.log
>> >> >> [TOX] ***installing dependencies: numpy, scipy
>> >> >> [TOX] /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/log$ ../bin/pip install --download-cache=/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download numpy scipy >1.log
>> >> >> [TOX] ERROR: invocation failed, logfile: /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/log/1.log
>> >> >> [TOX] ERROR: /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/log$ ../bin/pip install --download-cache=/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download numpy scipy >1.log
>> >> >> Downloading/unpacking scipy
>> >> >>   Using download cache from /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fs%2Fscipy%2Fscipy-0.9.0.zip
>> >> >>   Running setup.py egg_info for package scipy
>> >> >>     Traceback (most recent call last):
>> >> >>       File "<string>", line 14, in <module>
>> >> >>       File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/build/scipy/setup.py", line 181, in <module>
>> >> >>         setup_package()
>> >> >>       File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/build/scipy/setup.py", line 131, in setup_package
>> >> >>         from numpy.distutils.core import setup
>> >> >>     ImportError: No module named numpy.distutils.core
>> >> >>     Complete output from command python setup.py egg_info:
>> >> >>     Traceback (most recent call last):
>> >> >>
>> >> >>   File "<string>", line 14, in <module>
>> >> >>
>> >> >>   File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/build/scipy/setup.py", line 181, in <module>
>> >> >>
>> >> >>     setup_package()
>> >> >>
>> >> >>   File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py25/build/scipy/setup.py", line 131, in setup_package
>> >> >>
>> >> >>     from numpy.distutils.core import setup
>> >> >>
>> >> >> ImportError: No module named numpy.distutils.core
>> >> >>
>> >> >> ----------------------------------------
>> >> >> Command python setup.py egg_info failed with error code 1
>> >> >> Storing complete log in /Users/aaronmeurer/.pip/pip.log
>> >> >>
>> >> >> [TOX] ERROR: could not install deps [numpy, scipy]
>> >> >> ___________________________________________________________________________________________ [tox testenv:py27] ___________________________________________________________________________________________
>> >> >> [TOX] ***recreating virtualenv py27 (configchange/incomplete install detected)
>> >> >> [TOX] emptying /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27
>> >> >> [TOX] /Users/aaronmeurer/Documents/python/sympy/sympy/.tox$ virtualenv --distribute --no-site-packages -p /sw/bin/python2.7 py27 >py27/log/0.log
>> >> >> [TOX] ***installing dependencies: numpy, scipy
>> >> >> [TOX] /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/log$ ../bin/pip install --download-cache=/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download numpy scipy >1.log
>> >> >> [TOX] ERROR: invocation failed, logfile: /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/log/1.log
>> >> >> [TOX] ERROR: /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/log$ ../bin/pip install --download-cache=/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download numpy scipy >1.log
>> >> >> Downloading/unpacking scipy
>> >> >>   Using download cache from /Users/aaronmeurer/Documents/python/sympy/sympy/.tox/_download/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fs%2Fscipy%2Fscipy-0.9.0.zip
>> >> >>   Running setup.py egg_info for package scipy
>> >> >>     Traceback (most recent call last):
>> >> >>       File "<string>", line 14, in <module>
>> >> >>       File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/build/scipy/setup.py", line 181, in <module>
>> >> >>         setup_package()
>> >> >>       File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/build/scipy/setup.py", line 131, in setup_package
>> >> >>         from numpy.distutils.core import setup
>> >> >>     ImportError: No module named numpy.distutils.core
>> >> >>     Complete output from command python setup.py egg_info:
>> >> >>     Traceback (most recent call last):
>> >> >>
>> >> >>   File "<string>", line 14, in <module>
>> >> >>
>> >> >>   File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/build/scipy/setup.py", line 181, in <module>
>> >> >>
>> >> >>     setup_package()
>> >> >>
>> >> >>   File "/Users/aaronmeurer/Documents/python/sympy/sympy/.tox/py27/build/scipy/setup.py", line 131, in setup_package
>> >> >>
>> >> >>     from numpy.distutils.core import setup
>> >> >>
>> >> >> ImportError: No module named numpy.distutils.core
>> >> >>
>> >> >> ----------------------------------------
>> >> >> Command python setup.py egg_info failed with error code 1
>> >> >> Storing complete log in /Users/aaronmeurer/.pip/pip.log
>> >> >>
>> >> >> [TOX] ERROR: could not install deps [numpy, scipy]
>> >> >> _____________________________________________________________________________________________ [tox summary] ______________________________________________________________________________________________
>> >> >> [TOX] ERROR: py25: could not install deps [numpy, scipy]
>> >> >> [TOX] ERROR: py27: could not install deps [numpy, scipy]
>> >> >
>> >> >
>> >> >> _______________________________________________
>> >> >> testing-in-python mailing list
>> >> >> testing-in-python at lists.idyll.org
>> >> >> http://lists.idyll.org/listinfo/testing-in-python
>> >> >
>> >> >
>> >>
>> >
>>
>



More information about the testing-in-python mailing list