[Zope3-Users] mkzopeapp and zope.publisher/zope.exceptions incompatibility?

Marius Gedminas mgedmin at b4net.lt
Sat Jul 7 12:13:47 EDT 2007


After reading Philipp's excellent post about mkzopeapp[1] I decided to
give it a try.

  [1] http://www.z3lab.org/sections/blogs/philipp-weitershausen/2007_07_07_death-to-instances

Here's what I did on a fresh Ubuntu Feisty machine:

  apt-get install python-setuptools
  easy_install --prefix /usr/local workingenv.py
  mkdir ~/src
  cd ~/src/
  workingenv playing-with-mkzopeapp
  cd playing-with-mkzopeapp/
  source bin/activate
  easy_install mkzopeapp
  cd src/
  mkzopeapp sampleproject
  cd sampleproject/
  python setup.py develop -f http://download.zope.org/distribution
  startsampleproject

I didn't expect it to work (workingenv and easy_install both use
/usr/bin/python, which is 2.5, and I don't think Zope 3 works on 2.5
yet), but it failed with an error I didn't expect:

  Traceback (most recent call last):
    File "/home/mg/src/playing-with-mkzopeapp/bin/startsampleproject", line 14, in <module>
      load_entry_point('sampleproject==0.1', 'console_scripts', 'startsampleproject')()
    File "/home/mg/src/playing-with-mkzopeapp/src/sampleproject/sampleproject/main.py", line 8, in main
      paste.script.command.run(['serve', conf_file])
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteScript-1.3.5-py2.5.egg/paste/script/command.py", line 76, in run
      invoke(command, command_name, options, args[1:])
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteScript-1.3.5-py2.5.egg/paste/script/command.py", line 115, in invoke
      exit_code = runner.run(args)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteScript-1.3.5-py2.5.egg/paste/script/command.py", line 210, in run
      result = self.command()
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteScript-1.3.5-py2.5.egg/paste/script/serve.py", line 231, in command
      relative_to=base, global_conf=vars)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteScript-1.3.5-py2.5.egg/paste/script/serve.py", line 254, in loadapp
      **kw)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 193, in loadapp
      return loadobj(APP, uri, name=name, **kw)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 213, in loadobj
      global_conf=global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 237, in loadcontext
      global_conf=global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 267, in _loadconfig
      return loader.get_context(object_type, name, global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 393, in get_context
      section)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 415, in _context_from_use
      object_type, name=use, global_conf=global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 345, in get_context
      global_conf=global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 237, in loadcontext
      global_conf=global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 274, in _loadegg
      return loader.get_context(object_type, name, global_conf)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 542, in get_context
      object_type, name=name)
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/PasteDeploy-1.3.1-py2.5.egg/paste/deploy/loadwsgi.py", line 568, in find_egg_entry_point
      possible.append((entry.load(), protocol, entry.name))
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/setuptools-0.6c6-py2.5.egg/pkg_resources.py", line 1912, in load
      entry = __import__(self.module_name, globals(),globals(), ['__name__'])
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.paste-0.3-py2.5.egg/zope/paste/factory.py", line 22, in <module>
      from zope.app.wsgi import WSGIPublisherApplication
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.app.wsgi-3.4.0a1_2-py2.5.egg/zope/app/wsgi/__init__.py", line 28, in <module>
      from zope.app.publication.httpfactory import HTTPPublicationRequestFactory
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.app.publication-3.4.0a1_2-py2.5.egg/zope/app/publication/httpfactory.py", line 23, in <module>
      from zope.publisher.browser import setDefaultSkin
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.publisher-3.4.0b2-py2.5.egg/zope/publisher/browser.py", line 47, in <module>
      from zope.publisher.http import HTTPRequest, HTTPResponse
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.publisher-3.4.0b2-py2.5.egg/zope/publisher/http.py", line 48, in <module>
      from zope.publisher.base import BaseRequest, BaseResponse
    File "/home/mg/src/playing-with-mkzopeapp/lib/python2.5/zope.publisher-3.4.0b2-py2.5.egg/zope/publisher/base.py", line 27, in <module>
      from zope.exceptions.exceptionformatter import print_exception
  ImportError: cannot import name print_exception

(Isn't the size of the traceback scary?  Reminds me of Java-land
somewhat.)

zope.exceptions 3.2.0.2-py2.5 doesn't define a print_exception
function which zope-publisher 3.4.0b2-py2.5 expects.  Could this be
fixed with a versioned dependency in zope-publisher's setup.py?

Is it normal to see a zope.foo package versioned 3.2.something, or did
setuptools download an obsolete version from somewhere?  I also see
zope.thread version in the 3.3 range, while most of the other zope eggs
are in the 3.4 range.  A few are in the 3.5 version range.

Marius Gedminas
-- 
Always forgive your enemies.  Nothing annoys them more.
		-- Oscar Wilde 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zope3-users/attachments/20070707/e377798b/attachment.bin


More information about the Zope3-users mailing list