This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author webknjaz
Recipients jaraco, lukasz.langa, nagylzs, pitrou, python-dev, r.david.murray, tlevine, webknjaz
Date 2020-05-03.10:15:05
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Not sure if it's in the scope of this issue but I thought I'd report it.

I've just hit a similar issue with `setup.cfg` under Python 3.8 which is supposed to be parsed by `setuptools` but for some reason, I only see `distutils` in the trace, coming from `pip`.

$ python -m pip install --upgrade tox
ERROR: Exception:
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/cli/", line 186, in _main
    status =, args)
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/commands/", line 253, in run
    options.use_user_site = decide_user_install(
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/commands/", line 604, in decide_user_install
    if site_packages_writable(root=root_path, isolated=isolated_mode):
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/commands/", line 549, in site_packages_writable
    test_writable_dir(d) for d in set(get_lib_location_guesses(**kwargs))
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/commands/", line 543, in get_lib_location_guesses
    scheme = distutils_scheme('', *args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/pip/_internal/", line 109, in distutils_scheme
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/distutils/", line 413, in parse_config_files
    val = parser.get(section,opt)
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/", line 799, in get
    return self._interpolation.before_get(self, section, option, value,
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/", line 395, in before_get
    self._interpolate_some(parser, option, L, value, section, defaults, 1)
  File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/", line 442, in _interpolate_some
    raise InterpolationSyntaxError(
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%3Adevel\nCode of Conduct =\nSource Code ='

This is caused by
diff --git a/setup.cfg b/setup.cfg
index 9318235..0455376 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -9,7 +9,7 @@ version = 0.0.1.dev1
 url =
 project_urls =
     Bug Tracker =
-    CI: Travis =
+    CI: GitHub Workflows =
     Code of Conduct =
     Source Code =
 description = Python bindings for libssh client specific to Ansible use case
Date User Action Args
2020-05-03 10:15:05webknjazsetrecipients: + webknjaz, jaraco, pitrou, r.david.murray, nagylzs, lukasz.langa, python-dev, tlevine
2020-05-03 10:15:05webknjazsetmessageid: <>
2020-05-03 10:15:05webknjazlinkissue20120 messages
2020-05-03 10:15:05webknjazcreate