diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index bdacbbfca7..ef1a9b235f 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -1334,9 +1334,7 @@ def create_home_path(self): if not self.user: return home = convert_path(os.path.expanduser("~")) - for path in self.config_vars.values(): - if not isinstance(path, str): - continue + for path in only_strs(self.config_vars.values()): if path.startswith(home) and not os.path.isdir(path): self.debug_print("os.makedirs('%s', 0o700)" % path) os.makedirs(path, 0o700) @@ -2306,6 +2304,13 @@ def current_umask(): return tmp +def only_strs(values): + """ + Exclude non-str values. Ref #3063. + """ + return filter(lambda val: isinstance(val, str), values) + + class EasyInstallDeprecationWarning(SetuptoolsDeprecationWarning): """ Warning for EasyInstall deprecations, bypassing suppression.