[Nix-dev] Best way to install a bunch of old Python packages
Marc Weber
marco-oweber at gmx.de
Fri Sep 26 12:28:37 CEST 2014
I once tried https://gitorious.org/nixpkgs-python-overlay.
Like nixpkgs-overlay and hack-nix this uses a different approach:
a) dump everything from pypi into a format readable by nix
b) use a package description to assemble derivations on the fly.
This is using a simple brute force solver, if two different package
versions get "resolved" in the ruby/python case it will simply raise
an error and stop, then you have to hardcode one. This could be done
better.
I didn't get far because the that time I noticed that a lot of python
package had not proper dependency information which was readable outside
of python (without running setup.py).
Currently the dump I created is heavily outdated.
Thus yes: There are alternative ways - and I think that its the future
to provide mirrors of pypi - you can download piecewise(!) as needed.
Because in the ruby case there are 40.000+ packages - and you don't want
to download them all if you want to install 5 packages.
You can get an idea about how it should have looked like here:
http://lists.science.uu.nl/pipermail/nix-dev/2011-March/006021.html
Yes - my implementation is just a "prototype" and could be horribly
outdated.
By the way: I think the perfect goal would be creating huge package
databases, so that all software could be installed that way - but that
would also be a lot of work - because each language has its own
constraint. Eg for node its fine if you have
A - B-1.0
`- C - B-2.0
Because A/C will both get a different view on B
Marc Weber
More information about the nix-dev
mailing list