diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2022-02-27 15:33:45 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-27 15:33:45 -0500 |
| commit | 6625540cfc30a582017af3a15cab9d4b71953c73 (patch) | |
| tree | 9aa1eba30f4e1cdc04f3ad27949c472e75107671 | |
| parent | eced6d5e3d39c9d05a46a3dadb08d806b37ff6f4 (diff) | |
| parent | 597ff8774e505803a565d9bebde2f8a48519b033 (diff) | |
| download | python-setuptools-git-6625540cfc30a582017af3a15cab9d4b71953c73.tar.gz | |
Merge pull request #3138 from abravalheri/fix-samefile-problems
Check for file existence before using `samefile`
| -rw-r--r-- | setuptools/command/easy_install.py | 4 | ||||
| -rw-r--r-- | setuptools/package_index.py | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index 3aed8caa..6da39e73 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -922,7 +922,9 @@ class easy_install(Command): ensure_directory(destination) dist = self.egg_distribution(egg_path) - if not os.path.samefile(egg_path, destination): + if not ( + os.path.exists(destination) and os.path.samefile(egg_path, destination) + ): if os.path.isdir(destination) and not os.path.islink(destination): dir_util.remove_tree(destination, dry_run=self.dry_run) elif os.path.exists(destination): diff --git a/setuptools/package_index.py b/setuptools/package_index.py index 4b127f8c..14881d29 100644 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -680,7 +680,7 @@ class PackageIndex(Environment): # Make sure the file has been downloaded to the temp dir. if os.path.dirname(filename) != tmpdir: dst = os.path.join(tmpdir, basename) - if not os.path.samefile(filename, dst): + if not (os.path.exists(dst) and os.path.samefile(filename, dst)): shutil.copy2(filename, dst) filename = dst |
