Non-buildout install of Plone 5

I am trying to do a pip install of Plone5, following the instructions written last year by @jaroel.

(If you feel the urge to shout "WHYYYYYY, just use buildout", please resist and just indulge or ignore me)

The instructed procedure works, except that the Plone UI sort of looks like the theme is not applied at all (never seen that - just a guess). Maybe the custom size.zcml used in the instructions is no longer correct for Plone 5.0.7?

Out of curiosity, I also tried things the old manual/explicit way, putting together a small script to generate meta- configure- and override- slugs for all required packages specified in the pip constraints file. Running the script and then trying to start Plone after that, I then get an error:

zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "plone5/instance0/etc/site.zcml", line 15.2-15.55
    ZopeXMLConfigurationError: File "plone5/instance0/etc/package-includes/zc.resourcelibrary-configure.zcml", line 1.0-1.62
    ZopeXMLConfigurationError: File "plone5/lib/python2.7/site-packages/zc/resourcelibrary/configure.zcml", line 16.2
    ConfigurationError: ('Unknown directive', u'http://namespaces.zope.org/tales', u'expressiontype')

That should not happen: the directive is defined in meta.zcml of zope.browserpage for which a slug is properly generated. And those meta includes are loaded first in site.zcml. Taking a look how zope.browserpage is installed by pip, there are two entries:

zope.browserpage-3.12.2-py2.7-nspkg.pth
zope.browserpage-3.12.2-py2.7.egg-info/

They then tell that the package is actually installed in site-packages/zope/browserpage. I wonder, can it be that the configuration machinery does not like that namespace packages pointed to by the slugs are installed 'flattened' by pip? Would wheels work? Or is the error resulting from something else?

I ran into similar problems when trying this. You might need a patched z3c.autoinclude. It didn't work for me yet, but this pull request might help:

Thanks @mauritsvanrees . Just to confirm - do you mean that might be needed even with Z3C_AUTOINCLUDE_DEPENDENCIES_DISABLED and Z3C_AUTOINCLUDE_PLUGINS_DISABLED env vars having been set? I thought the env vars disabled z3c.autoinclude completely.

Okay, if you have explicitly disabled z3c.autoinclude, then you shouldn't need a branch for it.

Plone Foundation Code of Conduct