[Zope-dev] Extending Zope2 bin/instance run

Wichert Akkerman wichert at wiggy.net
Fri Sep 3 03:50:07 EDT 2010


I have noticed that now that we are almost exclusively using eggs to 
distribute our software using "bin/instance run" has become difficult: 
often the script you want to run is located inside an egg which makes to 
path to it hard to predict. This is not the most user friendly command:

   bin/instance run eggs/my.package-*/my/package/script.py

If a user is using a shared egg directory from zc.buildout or something 
else the egg can be anywhere on the filesystem, making it next to 
impossible to explain to users.

I am considering to modify bin/instance run to check if its first 
argument is a filesystem path, and if not consider the argument to be a 
dotted name of a callable which should be invoke. That way backwards 
compatibility remains, but you can now also do this:

   bin/instance run my.package.script.main

I am not sure if this is best done in plone.recipe.zope2instance or 
Zope2.Startup.zopectl. They have differing versions of ZopeCmd. Perhaps 
the plone.recipe.zope2instance code should be merged into Zope2's 
original as well?

Wichert.


More information about the Zope-Dev mailing list