[Nix-dev] Problem with using Nix to easy_install some python packages

Kevin Chmiel kevin.chmiel at logicblox.com
Thu Jan 20 19:18:27 CET 2011


Hello,

I have a Nix package that has some third party python packages, and in my 
builder.sh I try to easy_install those packages directly from their eggs.  It is 
working for the most part, but at one point I get this conflict:

Installed /nix/store/2ir4l3swyfr98hs8fw2ns8gx7qp60h64-python-
2.6.4/lib/python2.6/site-packages/web.py-0.31-py2.6.egg
Processing dependencies for web.py==0.31
Finished processing dependencies for web.py==0.31
building path(s) `/nix/store/m9dxvyinf3dif3gwjvzirgipwmx4rhsm-user-environment'
Collission between `/nix/store/j0xjxib9ib71iwswa1sxjhfgcajdh7q8-setuptools-
0.6c11/bin/easy_install' and `/nix/store/2ir4l3swyfr98hs8fw2ns8gx7qp60h64-
python-2.6.4/bin/easy_install'. Suggested solution: use `nix-env --set-flag 
priority NUMBER PKGNAME' to change the priority of one of the conflicting 
packages.
builder for `/nix/store/34a1hwx9gmjvknw4aji27xkfns8ss37f-user-environment.drv' 
failed with exit code 255
error: build of `/nix/store/34a1hwx9gmjvknw4aji27xkfns8ss37f-user-
environment.drv' failed

I was going to try to run the suggested nix-env commands in the builder.sh 
script.  But nix-env is not a known command inside that shell.  I tried sourcing 
the /usr/local/etc/profile.d/nix.sh command inside that shell script, which 
didn't work.  I got some error messages about a "homeless-shelter".

creating /homeless-shelter/.nix-profile
/bin/ln: creating symbolic link `/homeless-shelter/.nix-profile' to 
`/nix/var/nix/profiles/default': No such file or directory

And, running these two commands in my normal shell had no effect on the 
builder.sh script, I still got the same error message about the conflict.

nix-env --set-flag priority 1 setuptools_python26
nix-env --set-flag priority 2 python26

One other thing I tried was to put the --set-flag on the same nix-env command as 
the -f:

[root at domU-12-31-39-00-D1-41 nixpkg]# nix-env -f . -iA xformslb_third_party --
set-flag priority 2 python26
error: only one operation may be specified

So that didn't work.  Maybe there is another way to specify the priority using 
the args.

Any help that you can provide will be greatly appreciated.  Thanks

Kevin





More information about the nix-dev mailing list