[Nix-dev] PYTHONPATH and eggs

Mathijs Kwik mathijs at bluescreen303.nl
Sun Aug 5 14:06:30 CEST 2012


I fixed it.
pyxattrs and pylibacl depend on setuptools, so that needed to be
included in the wrapper too.
See https://github.com/NixOS/nixpkgs/commit/107f5e3560e446d690ab62bc5b8f3d86f7032459

Regards,
Mathijs

On Fri, Jul 27, 2012 at 6:24 PM, Mathijs Kwik <mathijs at bluescreen303.nl> wrote:
> 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