[tahoe-lafs-trac-stream] [tahoe-lafs] #1389: tahoe import machinery hides details of import errors
tahoe-lafs
trac at tahoe-lafs.org
Fri Apr 8 16:21:07 PDT 2011
#1389: tahoe import machinery hides details of import errors
-------------------------------------------------+-------------------------
Reporter: zooko | Owner:
Type: defect | somebody
Priority: major | Status: new
Component: packaging | Milestone:
Keywords: error usability packaging | undecided
setuptools | Version: 1.8.2
| Launchpad Bug:
-------------------------------------------------+-------------------------
arc had a hard time getting Tahoe-LAFS working. It turned out that the
problem was binary extension modules from a different operating system
were in his PYTHONPATH. But in order to learn that he had to import that
package directly -- the Tahoe-LAFS import machinery hid that useful
diagnostic information about why the import failed and instead just told
him "zfec couldn't be imported".
{{{
cd ~/dw ;PYTHONPATH=src:support/lib/python2.6/site-
packages:/home/arc/tpsrc/pycryptopp-0.5.29:/usr/lib/pymodules/python2.6
python -c 'import zfec ; print zfec'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/arc/dw/support/lib/python2.6/site-
packages/zfec-1.4.10-py2.6-macosx-10.6-universal.egg/zfec/__init__.py",
line 18, in <module>
from _fec import Encoder, Decoder, Error
ImportError: /home/arc/dw/support/lib/python2.6/site-
packages/zfec-1.4.10-py2.6-macosx-10.6-universal.egg/zfec/_fec.so: invalid
ELF header
}}}
{{{
cd ~/dw ;PYTHONPATH=src:support/lib/python2.6/site-
packages:/home/arc/tpsrc/pycryptopp-0.5.29:/usr/lib/pymodules/python2.6
python -c 'import allmydata ; print allmydata'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/arc/dw/src/allmydata/__init__.py", line 375, in <module>
check_all_requirements()
File "/home/arc/dw/src/allmydata/__init__.py", line 373, in
check_all_requirements
raise PackagingError(get_error_string(errors, debug=True))
allmydata.PackagingError:
ImportError: could not import 'zfec' for requirement 'zfec >= 1.1.0'
ImportError: could not import 'pycryptopp' for requirement 'pycryptopp >=
0.5.20'
For debugging purposes, the PYTHONPATH was
'src:support/lib/python2.6/site-
packages:/home/arc/tpsrc/pycryptopp-0.5.29:/usr/lib/pymodules/python2.6'
install_requires was
['setuptools >= 0.6c6', 'zfec >= 1.1.0', 'simplejson >= 1.4',
'zope.interface', 'Twisted >= 2.4.0', 'foolscap[secure_connections] >=
0.6.1', 'Nevow >= 0.6.0', 'pycrypto == 2.0.1, == 2.1.0, >= 2.3', 'pyasn1
>= 0.0.8a', 'mock', 'pycryptopp >= 0.5.20']
sys.path after importing pkg_resources was
:
/home/arc/dw/support/lib/python2.6/site-
packages/setuptools_darcs-1.2.12.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/pycryptopp-0.5.29-py2.6-macosx-10.6-universal.egg:
/home/arc/dw/support/lib/python2.6/site-packages/mock-0.7.0-py2.6.egg:
/home/arc/dw/support/lib/python2.6/site-packages/pyasn1-0.0.13a-
py2.6.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/pycrypto-2.3-py2.6-macosx-10.6-universal.egg:
/home/arc/dw/support/lib/python2.6/site-packages/Nevow-0.10.0-py2.6.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/foolscap-0.6.1-py2.6.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/simplejson-2.1.3-py2.6-macosx-10.6-universal.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/zfec-1.4.10-py2.6-macosx-10.6-universal.egg:
/home/arc/dw/support/lib/python2.6/site-
packages/setuptools-0.6c16dev3.egg:
/usr/local/lib/python2.6/dist-packages/coverage-3.4-py2.6-linux-
x86_64.egg:
/usr/local/lib/python2.6/dist-packages/pyutil-1.8.4-py2.6.egg:
/usr/local/lib/python2.6/dist-packages/argparse-1.1-py2.6.egg:
/usr/local/lib/python2.6/dist-packages/zbase32-1.1.3-py2.6.egg:
/home/arc/dw/src:
/home/arc/dw/support/lib/python2.6/site-packages:
/home/arc/tpsrc/pycryptopp-0.5.29:
/usr/lib/pymodules/python2.6:
/usr/lib/python2.6:
/usr/lib/python2.6/plat-linux2:
/usr/lib/python2.6/lib-tk:
/usr/lib/python2.6/lib-old:
/usr/lib/python2.6/lib-dynload:
/usr/lib/python2.6/dist-packages:
/usr/lib/python2.6/dist-packages/PIL:
/usr/lib/python2.6/dist-packages/gst-0.10:
/usr/lib/python2.6/dist-packages/gtk-2.0:
/usr/lib/pymodules/python2.6/gtk-2.0:
/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode:
/usr/local/lib/python2.6/dist-packages
}}}
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1389>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list