Description
BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)
Can't install Cookieplone generated project backend. @mauritsvanrees @davisagli @ericof this is blocking anyone from creating a new Plone project via Cookieplone. It might affect project creation via pip and buildout, too, but I didn't try those.
What I did:
Follow instructions in https://6.docs.plone.org/install/create-project-cookieplone.html. At the make install
step, observe that there are at least two issues.
- webtest 3.0.2 is installed but was yanked because of metadata issues.
- Something related to
importlib
not being able to importproject_title
.
$ make install
Install Backend & Frontend
⚠️ pre-commit is already on your PATH and installed at /opt/homebrew/bin/pre-commit. Downloading and running anyway.
pre-commit installed at .git/hooks/pre-commit
==> Setup Virtual Env
Requirement already satisfied: pip in ./.venv/lib/python3.12/site-packages (24.0)
Collecting pip
Using cached pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)
Collecting uv
Downloading uv-0.6.3-py3-none-macosx_11_0_arm64.whl.metadata (11 kB)
Collecting wheel
Using cached wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB)
Collecting pipx
Using cached pipx-1.7.1-py3-none-any.whl.metadata (18 kB)
Collecting mxdev
Using cached mxdev-4.0.3-py3-none-any.whl.metadata (20 kB)
Collecting tox
Using cached tox-4.24.1-py3-none-any.whl.metadata (3.7 kB)
Collecting pre-commit
Using cached pre_commit-4.1.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting argcomplete>=1.9.4 (from pipx)
Using cached argcomplete-3.5.3-py3-none-any.whl.metadata (16 kB)
Collecting packaging>=20 (from pipx)
Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting platformdirs>=2.1 (from pipx)
Using cached platformdirs-4.3.6-py3-none-any.whl.metadata (11 kB)
Collecting userpath!=1.9,>=1.6 (from pipx)
Using cached userpath-1.9.2-py3-none-any.whl.metadata (3.0 kB)
Collecting cachetools>=5.5 (from tox)
Downloading cachetools-5.5.2-py3-none-any.whl.metadata (5.4 kB)
Collecting chardet>=5.2 (from tox)
Using cached chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)
Collecting colorama>=0.4.6 (from tox)
Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting filelock>=3.16.1 (from tox)
Using cached filelock-3.17.0-py3-none-any.whl.metadata (2.9 kB)
Collecting pluggy>=1.5 (from tox)
Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting pyproject-api>=1.8 (from tox)
Using cached pyproject_api-1.9.0-py3-none-any.whl.metadata (2.7 kB)
Collecting virtualenv>=20.27.1 (from tox)
Using cached virtualenv-20.29.2-py3-none-any.whl.metadata (4.5 kB)
Collecting cfgv>=2.0.0 (from pre-commit)
Using cached cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)
Collecting identify>=1.0.0 (from pre-commit)
Using cached identify-2.6.8-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting nodeenv>=0.11.1 (from pre-commit)
Using cached nodeenv-1.9.1-py2.py3-none-any.whl.metadata (21 kB)
Collecting pyyaml>=5.1 (from pre-commit)
Using cached PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (2.1 kB)
Collecting click (from userpath!=1.9,>=1.6->pipx)
Using cached click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
Collecting distlib<1,>=0.3.7 (from virtualenv>=20.27.1->tox)
Using cached distlib-0.3.9-py2.py3-none-any.whl.metadata (5.2 kB)
Using cached pip-25.0.1-py3-none-any.whl (1.8 MB)
Downloading uv-0.6.3-py3-none-macosx_11_0_arm64.whl (14.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.5/14.5 MB 45.1 MB/s eta 0:00:00
Using cached wheel-0.45.1-py3-none-any.whl (72 kB)
Using cached pipx-1.7.1-py3-none-any.whl (78 kB)
Using cached mxdev-4.0.3-py3-none-any.whl (47 kB)
Using cached tox-4.24.1-py3-none-any.whl (171 kB)
Using cached pre_commit-4.1.0-py2.py3-none-any.whl (220 kB)
Using cached argcomplete-3.5.3-py3-none-any.whl (43 kB)
Downloading cachetools-5.5.2-py3-none-any.whl (10 kB)
Using cached cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)
Using cached chardet-5.2.0-py3-none-any.whl (199 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached filelock-3.17.0-py3-none-any.whl (16 kB)
Using cached identify-2.6.8-py2.py3-none-any.whl (99 kB)
Using cached nodeenv-1.9.1-py2.py3-none-any.whl (22 kB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached platformdirs-4.3.6-py3-none-any.whl (18 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Using cached pyproject_api-1.9.0-py3-none-any.whl (13 kB)
Using cached PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl (173 kB)
Using cached userpath-1.9.2-py3-none-any.whl (9.1 kB)
Using cached virtualenv-20.29.2-py3-none-any.whl (4.3 MB)
Using cached distlib-0.3.9-py2.py3-none-any.whl (468 kB)
Using cached click-8.1.8-py3-none-any.whl (98 kB)
Installing collected packages: distlib, wheel, uv, pyyaml, pluggy, platformdirs, pip, packaging, nodeenv, identify, filelock, colorama, click, chardet, cfgv, cachetools, argcomplete, virtualenv, userpath, pyproject-api, mxdev, tox, pre-commit, pipx
Attempting uninstall: pip
Found existing installation: pip 24.0
Uninstalling pip-24.0:
Successfully uninstalled pip-24.0
Successfully installed argcomplete-3.5.3 cachetools-5.5.2 cfgv-3.4.0 chardet-5.2.0 click-8.1.8 colorama-0.4.6 distlib-0.3.9 filelock-3.17.0 identify-2.6.8 mxdev-4.0.3 nodeenv-1.9.1 packaging-24.2 pip-25.0.1 pipx-1.7.1 platformdirs-4.3.6 pluggy-1.5.0 pre-commit-4.1.0 pyproject-api-1.9.0 pyyaml-6.0.2 tox-4.24.1 userpath-1.9.2 uv-0.6.3 virtualenv-20.29.2 wheel-0.45.1
Not installing pre-commit
==> Create instance configuration
⚠️ cookiecutter is already on your PATH and installed at /Users/stevepiercy/.pyenv/shims/cookiecutter. Downloading and running anyway.
Warning: initial user's password is insecure, it should be at least 10 characters long!
==> Setup Build
###############################################################################
# Load configuration
Can not parse override:
###############################################################################
# Read infiles
Read [r]: requirements.txt
Read [c]: constraints.txt
Read [c]: https://dist.plone.org/release/6.1.0/constraints.txt
###############################################################################
# No sources configured!
###############################################################################
# Write outfiles
Write [c]: constraints-mxdev.txt
Write [r]: requirements-mxdev.txt
🎂 You are now ready for: pip install -r requirements-mxdev.txt
(path to pip may vary dependent on your installation method)
Resolved 319 packages in 1.17s
Built project-title @ file:///Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend
Prepared 13 packages in 1.26s
Uninstalled 1 package in 2ms
Installed 315 packages in 909ms
+ accesscontrol==7.2
+ acquisition==6.1
+ attrs==24.2.0
+ authencoding==5.0
+ babel==2.16.0
+ beautifulsoup4==4.12.3
+ borg-localrole==3.1.11
+ btrees==6.1
+ build==1.2.2.post1
+ certifi==2024.12.14
+ cffi==1.17.1
+ chameleon==4.4.4
+ charset-normalizer==3.4.0
+ check-manifest==0.50
- click==8.1.8
+ click==8.1.7
+ cmarkgfm==2024.11.20
+ collective-mockmailhost==3.0.0
+ collective-monkeypatcher==1.2.2
+ coverage==7.6.9
+ cssselect==1.2.0
+ datetime==5.5
+ decorator==5.1.1
+ diazo==2.0.2
+ documenttemplate==4.6
+ docutils==0.21.2
+ extensionclass==6.0
+ feedparser==6.0.11
+ five-customerize==3.0.0
+ five-intid==2.0.0
+ five-localsitemanager==4.0
+ furl==2.1.3
+ grpcio==1.66.2
+ grpcio-tools==1.66.2
+ h11==0.14.0
+ icalendar==6.1.1
+ idna==3.10
+ importlib-metadata==8.5.0
+ iniconfig==2.0.0
+ jaraco-classes==3.4.0
+ jaraco-context==6.0.1
+ jaraco-functools==4.1.0
+ jinja2==3.1.4
+ jsonschema==4.23.0
+ jsonschema-specifications==2024.10.1
+ keyring==25.5.0
+ lxml==5.3.0
+ lxml-html-clean==0.4.1
+ markdown==3.7
+ markdown-it-py==3.0.0
+ markupsafe==3.0.2
+ mdurl==0.1.2
+ missing==5.0
+ mock==5.1.0
+ more-itertools==10.5.0
+ multimapping==5.0
+ multipart==0.2.5
+ natsort==8.4.0
+ nh3==0.2.19
+ orderedmultidict==1.0.1
+ outcome==1.3.0.post0
+ overrides==7.7.0
+ paste==3.10.1
+ pastedeploy==3.1.0
+ pep440==0.1.2
+ persistence==5.1
+ persistent==6.1
+ piexif==1.1.3
+ pillow==11.0.0
+ pkginfo==1.10.0
+ plone==6.1.0
+ plone-alterego==2.0.1
+ plone-api==2.2.5
+ plone-app-caching==4.0.0
+ plone-app-content==4.1.9
+ plone-app-contentlisting==3.0.5
+ plone-app-contentmenu==3.0.6
+ plone-app-contentrules==5.0.6
+ plone-app-contenttypes==4.0.4
+ plone-app-customerize==2.0.2
+ plone-app-dexterity==4.0.3
+ plone-app-discussion==5.0.0
+ plone-app-event==5.2.1
+ plone-app-i18n==4.0.1
+ plone-app-intid==2.0.0
+ plone-app-iterate==6.1.0
+ plone-app-layout==5.0.1
+ plone-app-linkintegrity==4.0.6
+ plone-app-locales==6.0.29
+ plone-app-lockingbehavior==2.0.2
+ plone-app-multilingual==8.2.1
+ plone-app-portlets==6.0.1
+ plone-app-querystring==2.1.3
+ plone-app-redirector==3.0.4
+ plone-app-registry==2.0.6
+ plone-app-relationfield==4.0.1
+ plone-app-robotframework==2.1.4
+ plone-app-testing==7.1.1
+ plone-app-textfield==3.0.0
+ plone-app-theming==5.0.11
+ plone-app-upgrade==3.1.9
+ plone-app-users==3.0.10
+ plone-app-uuid==2.2.3
+ plone-app-versioningbehavior==2.0.4
+ plone-app-viewletmanager==4.0.4
+ plone-app-vocabularies==6.0.2
+ plone-app-workflow==5.0.4
+ plone-app-z3cform==4.7.2
+ plone-autoform==2.0.3
+ plone-autoinclude==1.0.1
+ plone-base==2.0.2
+ plone-batching==2.0.6
+ plone-behavior==2.0.1
+ plone-browserlayer==3.0.2
+ plone-cachepurging==3.0.2
+ plone-caching==2.0.1
+ plone-classicui==1.0.0
+ plone-contentrules==3.0.1
+ plone-dexterity==3.0.7
+ plone-distribution==3.1.0
+ plone-event==2.0.2
+ plone-exportimport==1.0.0
+ plone-folder==4.0.1
+ plone-formwidget-namedfile==3.1.1
+ plone-formwidget-recurrence==3.0.5
+ plone-i18n==5.0.2
+ plone-indexer==2.0.1
+ plone-intelligenttext==4.0.1
+ plone-keyring==4.0.2
+ plone-locking==3.0.2
+ plone-memoize==3.0.3
+ plone-namedfile==7.0.0
+ plone-outputfilters==5.0.4
+ plone-portlet-collection==4.0.4
+ plone-portlet-static==4.0.4
+ plone-portlets==3.0.2
+ plone-protect==5.0.3
+ plone-registry==2.0.1
+ plone-resource==3.0.2
+ plone-resourceeditor==4.0.1
+ plone-rest==5.0.0
+ plone-restapi==9.11.0
+ plone-rfc822==3.0.1
+ plone-scale==4.1.3
+ plone-schema==2.0.1
+ plone-schemaeditor==4.0.9
+ plone-session==4.0.4
+ plone-staticresources==2.2.0
+ plone-stringinterp==2.0.2
+ plone-subrequest==2.0.5
+ plone-supermodel==2.0.4
+ plone-testing==9.0.3
+ plone-theme==4.0.3
+ plone-transformchain==3.0.1
+ plone-uuid==2.0.1
+ plone-volto==5.0.2
+ plone-z3cform==2.0.4
+ plonetheme-barceloneta==3.2.2
+ products-btreefolder2==5.1
+ products-cmfcore==3.6
+ products-cmfdifftool==4.0.4
+ products-cmfdynamicviewfti==7.0.2
+ products-cmfeditions==4.0.4
+ products-cmfplacefulworkflow==3.0.5
+ products-cmfplone==6.1.0
+ products-cmfuid==4.2
+ products-daterecurringindex==3.0.1
+ products-dcworkflow==3.0
+ products-extendedpathindex==4.0.1
+ products-externalmethod==6.0
+ products-genericsetup==4.0
+ products-isurlinportal==3.0.0
+ products-mailhost==6.0
+ products-mimetypesregistry==3.0.1
+ products-plonepas==8.0.5
+ products-pluggableauthservice==3.0
+ products-pluginregistry==2.0
+ products-portaltransforms==4.1.1
+ products-pythonscripts==5.1
+ products-sessions==5.0
+ products-siteerrorlog==6.0
+ products-standardcachemanagers==5.0
+ products-statusmessages==5.0.6
+ products-zcatalog==7.1
+ products-zopeversioncontrol==4.1
+ project-title==1.0.0a0 (from file:///Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend)
+ prompt-toolkit==3.0.48
+ protobuf==5.27.2
+ pycparser==2.22
+ pygments==2.18.0
+ pyjwt==2.10.1
+ pyproject-hooks==1.2.0
+ pyroma==4.2
+ pysocks==1.7.1
+ pytest==7.4.4
+ pytest-cov==5.0.0
+ pytest-plone==0.5.0
+ python-dateutil==2.9.0.post0
+ python-gettext==5.0
+ pytz==2024.2
+ readme-renderer==44.0
+ record==4.1
+ referencing==0.35.1
+ repoze-xmliter==1.0b1
+ requests==2.32.3
+ requests-toolbelt==1.0.0
+ restrictedpython==7.4
+ rfc3986==2.0.0
+ rich==13.9.4
+ robotframework==6.0.2
+ robotframework-assertion-engine==3.0.3
+ robotframework-browser==18.9.1
+ robotframework-debuglibrary==2.5.0
+ robotframework-pythonlibcore==4.4.1
+ robotframework-selenium2library==3.0.0
+ robotframework-seleniumlibrary==6.1.3
+ robotframework-seleniumtestability==2.1.0
+ robotsuite==2.3.2
+ roman==4.2
+ rpds-py==0.22.3
+ seedir==0.5.0
+ selenium==4.9.1
+ setuptools==75.6.0
+ sgmllib3k==1.0.0
+ simplejson==3.19.3
+ six==1.16.0
+ sniffio==1.3.1
+ sortedcontainers==2.4.0
+ soupsieve==2.6
+ tomli==2.0.2
+ towncrier==24.8.0
+ transaction==5.0
+ trio==0.27.0
+ trio-websocket==0.11.1
+ trove-classifiers==2025.1.15.22
+ twine==5.1.1
+ tzdata==2025.1
+ unidecode==1.3.8
+ urllib3==2.2.3
+ waitress==3.0.2
+ wcwidth==0.2.13
+ webob==1.8.9
+ webresource==1.2
+ webtest==3.0.2
+ wrapt==1.17.0
+ wsgiproxy2==0.5.1
+ wsproto==1.2.0
+ z3c-caching==3.0
+ z3c-form==5.1
+ z3c-formwidget-query==2.0.0
+ z3c-objpath==2.0
+ z3c-pt==4.4
+ z3c-relationfield==2.0.0
+ z3c-unconfigure==2.1
+ z3c-zcmlhook==2.0
+ zc-lockfile==3.0.post1
+ zc-relation==2.0
+ zconfig==4.1
+ zest-releaser==9.2.0
+ zestreleaser-towncrier==1.3.0
+ zexceptions==5.0
+ zipp==3.20.2
+ zodb==6.0
+ zodbpickle==4.1.1
+ zope==5.12
+ zope-annotation==5.0
+ zope-app-locales==5.0
+ zope-browser==3.0
+ zope-browsermenu==5.0
+ zope-browserpage==5.0
+ zope-browserresource==5.1
+ zope-cachedescriptors==5.0
+ zope-component==6.0
+ zope-componentvocabulary==2.3.0
+ zope-configuration==6.0
+ zope-container==6.1
+ zope-contentprovider==6.0
+ zope-contenttype==5.1
+ zope-copy==5.0
+ zope-datetime==5.0.0
+ zope-deferredimport==5.0
+ zope-deprecation==5.0
+ zope-dottedname==6.0
+ zope-event==5.0
+ zope-exceptions==5.2
+ zope-filerepresentation==6.0
+ zope-globalrequest==2.0
+ zope-hookable==7.0
+ zope-i18n==5.2
+ zope-i18nmessageid==7.0
+ zope-interface==7.2
+ zope-intid==5.0
+ zope-keyreference==6.0
+ zope-lifecycleevent==5.0
+ zope-location==5.0
+ zope-pagetemplate==5.1
+ zope-processlifetime==3.0
+ zope-proxy==6.1
+ zope-ptresource==5.0
+ zope-publisher==7.1
+ zope-pytestlayer==8.2
+ zope-ramcache==3.0
+ zope-schema==7.0.1
+ zope-security==7.3
+ zope-sendmail==6.2
+ zope-sequencesort==5.0
+ zope-site==5.0
+ zope-size==5.0
+ zope-structuredtext==5.0
+ zope-tal==5.0.1
+ zope-tales==6.0
+ zope-testbrowser==7.0
+ zope-testing==5.0.1
+ zope-testrunner==6.6
+ zope-traversing==5.0
+ zope-viewlet==5.0
warning: `webtest==3.0.2` is yanked (reason: "wrong medatata")
Could not import project_title. Set environment variable AUTOINCLUDE_ALLOW_MODULE_NOT_FOUND_ERROR=1 if you want to allow this. Or set it to 'project_title' to only allow for this project. Can be a comma-separated list of project names. Or replace the z3c.autoinclude.plugin entry point of this project with plone.autoinclude.plugin and a module name.
Traceback (most recent call last):
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 448, in endElementNS
self.context.end()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/config.py", line 748, in end
self.stack.pop().finish()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/config.py", line 918, in finish
actions = self.handler(context, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/plone/autoinclude/zcml.py", line 37, in includePluginsDirective
dists = loader.load_packages(target)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/plone/autoinclude/loader.py", line 139, in load_packages
z3c_dists = load_z3c_packages(target=target)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/plone/autoinclude/loader.py", line 50, in load_z3c_packages
dist = importlib.import_module(module_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'project_title'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/bin/zconsole", line 10, in <module>
sys.exit(main())
^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/utilities/zconsole.py", line 50, in main
runscript(namespace.zopeconf, *namespace.scriptargs)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/utilities/zconsole.py", line 13, in runscript
make_wsgi_app({}, zopeconf)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/Startup/run.py", line 61, in make_wsgi_app
starter.prepare()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/Startup/starter.py", line 38, in prepare
self.startZope()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/Startup/starter.py", line 94, in startZope
Zope2.startup_wsgi()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/__init__.py", line 36, in startup_wsgi
_startup()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/App/startup.py", line 126, in startup
load_zcml()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/App/startup.py", line 41, in load_zcml
load_site()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Zope2/App/zcml.py", line 45, in load_site
_context = xmlconfig.file(site_zcml)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 717, in file
include(context, name, package)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 614, in include
processxmlfile(f, context)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 464, in processxmlfile
parser.parse(src)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 105, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/xmlreader.py", line 124, in parse
self.feed(buffer)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 211, in feed
self._parser.Parse(data, isFinal)
File "./Modules/pyexpat.c", line 477, in EndElement
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 389, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 450, in endElementNS
self._handle_exception(ex, info)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 448, in endElementNS
self.context.end()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/config.py", line 748, in end
self.stack.pop().finish()
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/config.py", line 918, in finish
actions = self.handler(context, **args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/OFS/metaconfigure.py", line 47, in loadProducts
xmlconfig.include(_context, zcml, package=product)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 614, in include
processxmlfile(f, context)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 464, in processxmlfile
parser.parse(src)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 105, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/xmlreader.py", line 124, in parse
self.feed(buffer)
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 211, in feed
self._parser.Parse(data, isFinal)
File "./Modules/pyexpat.c", line 477, in EndElement
File "/opt/homebrew/Cellar/[email protected]/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/xml/sax/expatreader.py", line 389, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 450, in endElementNS
self._handle_exception(ex, info)
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/zope/configuration/xmlconfig.py", line 237, in _handle_exception
raise ZopeXMLConfigurationError(info, ex)
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/.venv/lib/python3.12/site-packages/Products/CMFPlone/meta.zcml", line 67.2-71.8
File "/Users/stevepiercy/projects/Plone/documentation/atest/project-title/backend/instance/etc/site.zcml", line 9.2-9.39
ModuleNotFoundError: No module named 'project_title'
make[3]: *** [create-site] Error 1
make[2]: *** [backend-create-site] Error 2
make[1]: *** [backend-install] Error 2
make: *** [install] Error 2