diff --git a/news/9910.bugfix.rst b/news/9910.bugfix.rst new file mode 100644 index 00000000000..ece2f3fdfa9 --- /dev/null +++ b/news/9910.bugfix.rst @@ -0,0 +1 @@ +Allow ZIP to archive files with timestamps earlier than 1980. diff --git a/src/pip/_internal/build_env.py b/src/pip/_internal/build_env.py index cdf04324107..7dd1f42e51d 100644 --- a/src/pip/_internal/build_env.py +++ b/src/pip/_internal/build_env.py @@ -58,7 +58,10 @@ def _create_standalone_pip() -> Iterator[str]: with TempDirectory(kind="standalone-pip") as tmp_dir: pip_zip = os.path.join(tmp_dir.path, "__env_pip__.zip") - with zipfile.ZipFile(pip_zip, "w") as zf: + kwargs = {} + if sys.version_info >= (3, 8): + kwargs["strict_timestamps"] = False + with zipfile.ZipFile(pip_zip, "w", **kwargs) as zf: for child in source.rglob("*"): zf.write(child, child.relative_to(source.parent).as_posix()) yield os.path.join(pip_zip, "pip")