The Problem
Since January, I've noticed pip keeps on warning me about the end of Python 2.7 support and I've been getting some weird buildout and instance errors. The latest error I've gotten is the following:
File "/home/ubuntu/workspace/eggs/z3c.autoinclude-0.3.7-py2.7.egg/z3c/autoinclude/zcml.py", line 101, in includePluginsDirective
info = PluginFinder(dotted_name).includableInfo(zcml_to_look_for)
File "/home/ubuntu/workspace/eggs/z3c.autoinclude-0.3.7-py2.7.egg/z3c/autoinclude/plugin.py", line 18, in includableInfo
groups = zcml_to_include(plugin_dottedname, zcml_to_look_for)
File "/home/ubuntu/workspace/eggs/z3c.autoinclude-0.3.7-py2.7.egg/z3c/autoinclude/plugin.py", line 36, in zcml_to_include
filename = resource_filename(dotted_name, zcmlgroup)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1142, in resource_filename
return get_provider(package_or_requirement).get_resource_filename(
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 359, in get_provider
__import__(moduleOrReq)
File "/home/ubuntu/workspace/eggs/contentrules.slack-1.0.0a1-py2.7.egg/contentrules/slack/__init__.py", line 3, in <module>
from prettyconf import config
File "/home/ubuntu/workspace/eggs/prettyconf-2.0.1-py2.7.egg/prettyconf/__init__.py", line 1, in <module>
from .configuration import Configuration
File "/home/ubuntu/workspace/eggs/prettyconf-2.0.1-py2.7.egg/prettyconf/configuration.py", line 7, in <module>
from .loaders import Environment, RecursiveSearch
File "/home/ubuntu/workspace/eggs/prettyconf-2.0.1-py2.7.egg/prettyconf/loaders.py", line 2, in <module>
from configparser import ConfigParser, MissingSectionHeaderError, NoOptionError
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/ubuntu/workspace/parts/instance/etc/site.zcml", line 12.2-12.39
ZopeXMLConfigurationError: File "/home/ubuntu/workspace/eggs/Products.CMFPlone-5.1.4-py2.7.egg/Products/CMFPlone/meta.zcml", line 37.4-41.10
ImportError: No module named configparser
The Solution
# Allow lower version than Zope 4
five.formlib = 1.0.4
# Pre-Python 2.7 deprecation
configparser = 3.5.0
prettyconf = 1.2.3
# Prep-Python 2.7 deprecation
# five.formlib = 2.0
zExceptions = 3.4