[Nix-dev] PYTHONPATH and eggs

Mathijs Kwik mathijs at bluescreen303.nl
Fri Jul 27 18:24:35 CEST 2012


On Fri, Jul 27, 2012 at 3:30 PM, Florian Friesdorf <flo at chaoflow.net> wrote:
> 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.

Would be very helpful, thanks!
If you figure out how to do these 2, I can probably work out more
optional deps, like python-fuse.

Have a nice 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


More information about the nix-dev mailing list