Jeff Kowalczyk wrote:
Phillip, thanks for releasing mkzopeapp. I recently got started with a
buildout-enabled zope-3 project by imitating the layout of z3c.formdemo.
How would I use mkzopeapp to create a project.package name like
z3c.formdemo, or is this not generally recommended for application
packages?
Currently mkzopeapp doesn't support the creation of namespaced packages
out of the box, but it's really easy to do this manually (see below).
$ mkzopeapp AcmeSite
Selected and implied templates:
mkzopeapp#zope_app Package that contains a Zope application
Variables:
egg: AcmeSite
package: acmesite
project: AcmeSite
Creating template zope_app
Creating directory ./AcmeSite
Recursing into +package+
Creating ./AcmeSite/acmesite/
Copying __init__.py to ./AcmeSite/acmesite/__init__.py
Copying configure.zcml_tmpl to ./AcmeSite/acmesite/configure.zcml
Copying develop.ini to ./AcmeSite/acmesite/develop.ini
Copying main.py_tmpl to ./AcmeSite/acmesite/main.py
Recursing into var
Creating ./AcmeSite/acmesite/var/
Copying README.txt to ./AcmeSite/acmesite/var/README.txt
Copying setup.py_tmpl to ./AcmeSite/setup.py
Running /usr/bin/python setup.py egg_info
To convert the 'acmesite' package into a package called 'jeff.acmesite',
simply do:
$ cd AcmeSite
$ mkdir jeff
$ mv acmesite jeff
Then create jeff/__init__.py:
# this is a namespace package
try:
import pkg_resources
pkg_resources.declare_namespace(__name__)
except ImportError:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)
Then edit setup.py and add the following parameter:
namespace_packages=['jeff'],
Done.
--
http://worldcookery.com -- Professional Zope documentation and training
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users