[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