From 856d8499aa4acdf603b895fdcb6a31cbc8bda357 Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Sat, 21 Sep 2024 07:54:24 +0800 Subject: [PATCH] fix: can't format requirements when converting to setup.py Signed-off-by: Frost Ming --- src/pdm/backend/hooks/setuptools.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/pdm/backend/hooks/setuptools.py b/src/pdm/backend/hooks/setuptools.py index 21c72ff..eedf03d 100644 --- a/src/pdm/backend/hooks/setuptools.py +++ b/src/pdm/backend/hooks/setuptools.py @@ -161,12 +161,15 @@ def format_setup_py(self, context: Context) -> str: ) if meta.dependencies: - before.append(f"INSTALL_REQUIRES = {_format_list(meta.dependencies)}\n") - extra.append(" 'install_requires': INSTALL_REQUIRES,\n") - if meta.optional_dependencies: before.append( - f"EXTRAS_REQUIRE = {_format_dict_list(meta.optional_dependencies)}\n" + f"INSTALL_REQUIRES = {_format_list([str(d) for d in meta.dependencies])}\n" ) + extra.append(" 'install_requires': INSTALL_REQUIRES,\n") + if meta.optional_dependencies: + extras_require = { + k: [str(d) for d in v] for k, v in meta.optional_dependencies.items() + } + before.append(f"EXTRAS_REQUIRE = {_format_dict_list(extras_require)}\n") extra.append(" 'extras_require': EXTRAS_REQUIRE,\n") if meta.requires_python is not None: extra.append(f" 'python_requires': '{meta.requires_python}',\n")