Okay, here is what I propose. Change Site.get_sites() to look more carefully for sites, using every path in qp.sites.__path__, not just the first one. Modify qp.site.__init__.py to set the path to be: ${QP_SITES} ~/qp_sites ~/.qp_sites ~/.qp_sites /var/qp_sitesAlso add a -base= option to the 'qp' command, which sets QP_SITES to be the directory where python finds the mysites_package. Add an __init__.py to qp.demo, so that the demo sites can, if desired, be run using "qp --base=qp.demo start" This also simplifies the installation procedure, since sites will be a directory instead of a link.