[Nix-dev] PYTHONPATH and eggs

Florian Friesdorf flo at chaoflow.net
Fri Jul 27 15:30:32 CEST 2012


On Fri, 27 Jul 2012 14:32:47 +0200, Cillian de Róiste <cillian.deroiste at gmail.com> wrote:
> On Fri, Jul 27, 2012 at 1:42 PM, Florian Friesdorf <flo at chaoflow.net> wrote:
> > On Fri, 27 Jul 2012 13:29:03 +0200, Mathijs Kwik <mathijs at bluescreen303.nl> wrote:
> >> That's strange then :)
> >>
> >> I disabled the test too, but the problem remains.
> >> Just to be clear, it's a warning, not an error:
> >>
> >> % bup meta
> >> Warning: Linux xattr support missing; install python-pyxattr.
> >> Warning: POSIX ACL support missing; install python-pylibacl.
> >> usage: bup meta --create [OPTION ...] <PATH ...>
> >>    or: bup meta --extract [OPTION ...]
> >>    or: bup meta --start-extract [OPTION ...]
> >>    or: bup meta --finish-extract [OPTION ...]
> >
> > sorry - I have the same - was looking out for python import errors.
> >
> >> How can I debug this further?
> >
> > % /nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/pdb.py .nix-profile/bin/bup
> > Traceback (most recent call last):
> >   File "/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/pdb.py", line 1314, in main
> >     pdb._runscript(mainpyfile)
> >   File "/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/pdb.py", line 1233, in _runscript
> >     self.run(statement)
> >   File "/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/bdb.py", line 387, in run
> >     exec cmd in globals, locals
> >   File "<string>", line 1, in <module>
> >   File ".nix-profile/bin/bup", line 2
> >     export PYTHONPATH=/nix/store/ixp90035n4xrr6y4kcvcb36cd6rpcz0a-python-pyxattr-0.5.1/lib/python2.7/site-packages:/nix/store/kczagr8sv3yx355jy63byv7i7jngbx9v-python-pylibacl-0.5.1/lib/python2.7/site-packages:/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/site-packages:/nix/store/93lbhnm76wlkmq7r0z8lwk3g9ch76hjp-git-1.7.11/lib/python2.7/site-packages${PYTHONPATH:+:}$PYTHONPATH
> >                     ^
> > SyntaxError: invalid syntax
> > Uncaught exception. Entering post mortem debugging
> > Running 'cont' or 'step' will restart the program
> >> <string>(1)<module>()
> > (Pdb)
> >
> > So the wrapper actually is not good.
> 
> If I understand correctly, you've run pdb on the wrapper, which is a
> shell script, rather than the wrapped python code, is that right?

hihi - yes

correct is:

% /nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/pdb.py\
>  /nix/store/c4inzdbs8ckpd22sm928kqywnz9xpknj-bup-0.25git20120722/bin/.bup-wrapped\
>  meta

then check sys.path

> /nix/store/c4inzdbs8ckpd22sm928kqywnz9xpknj-bup-0.25git20120722/bin/.bup-wrapped(2)<module>()
-> import sys, os, subprocess, signal, getopt
(Pdb) import sys,pprint
(Pdb) pprint.pprint(sys.path)
['/nix/store/c4inzdbs8ckpd22sm928kqywnz9xpknj-bup-0.25git20120722/bin',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/site-packages',
 '/nix/store/9vx5rqgbmjvp8320kv2xzd9pg27r8i2n-python-bsddb-2.7.3/lib/python2.7/site-packages',
 '/nix/store/l76wlc1pimd372hwff6c1mxrc5bm3ym6-python-curses-2.7.3/lib/python2.7/site-packages',
 '/nix/store/vmbzx7h0pvvcvrisj1bgvrhb3q9xkgs8-python-gdbm-2.7.3/lib/python2.7/site-packages',
 '/nix/store/36yvgidmiwsdl8cz9xh1zwfpaqxgfslh-python-readline-2.7.3/lib/python2.7/site-packages',
 '/nix/store/a3rc404sxi4d4adwr6r0rsphbal1qai5-python-sqlite3-2.7.3/lib/python2.7/site-packages',
 '/nix/store/i1idllnq0130b89cjwjn0s926bzlihsy-python-tkinter-2.7.3/lib/python2.7/site-packages',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python27.zip',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/plat-linux2',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/lib-tk',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/lib-old',
 '/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/lib-dynload']
(Pdb) print sys.exec_prefix
/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3

pyxattr and pylibacl are not in sys.path. At least their site-packages
dir should be and the pth file (see below) should then add the egg. I
also gave it a quick test with our python branch - same problem.

Something is weird. I might have a look during the weekend.

% cat .nix-profile/bin/bup                                                                          
#! /nix/store/043zrsanirjh8nbc5vqpjn93hhrf107f-bash-4.2-p24/bin/bash -e
export PYTHONPATH=/nix/store/ixp90035n4xrr6y4kcvcb36cd6rpcz0a-python-pyxattr-0.5.1/lib/python2.7/site-packages:/nix/store/kczagr8sv3yx355jy63byv7i7jngbx9v-python-pylibacl-0.5.1/lib/python2.7/site-packages:/nix/store/5qmz5wc596kl7rywx56phyl2gb0052w7-python-2.7.3/lib/python2.7/site-packages:/nix/store/93lbhnm76wlkmq7r0z8lwk3g9ch76hjp-git-1.7.11/lib/python2.7/site-packages${PYTHONPATH:+:}$PYTHONPATH
exec /nix/store/c4inzdbs8ckpd22sm928kqywnz9xpknj-bup-0.25git20120722/bin/.bup-wrapped "${extraFlagsArray[@]}" "$@"

% ls -l /nix/store/ixp90035n4xrr6y4kcvcb36cd6rpcz0a-python-pyxattr-0.5.1/lib/python2.7/site-packages 
total 40K
-r--r--r-- 1 root nixbld   224 Jan  1  1970 easy-install.pth
-r--r--r-- 1 root nixbld 25697 Jan  1  1970 pyxattr-0.5.1-py2.7-linux-x86_64.egg
-r--r--r-- 1 root nixbld  2362 Jan  1  1970 site.py
-r--r--r-- 1 root nixbld  1845 Jan  1  1970 site.pyc

-- 
Florian Friesdorf <flo at chaoflow.net>
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: flo at chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
Url : http://lists.science.uu.nl/pipermail/nix-dev/attachments/20120727/e825c7d8/attachment.bin 


More information about the nix-dev mailing list