From 94487d45707772723ef19e86700a40a12743baa1 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Fri, 20 Jul 2018 17:07:38 +0100 Subject: [PATCH] bpo-34011: Update code copying DLLs and init.tcl into venvs. (GH-8253) --- Lib/venv/__init__.py | 6 +++++- .../next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py index 716129d1398..e0ab241f77c 100644 --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -9,6 +9,7 @@ import os import shutil import subprocess import sys +import sysconfig import types logger = logging.getLogger(__name__) @@ -207,7 +208,10 @@ class EnvBuilder: copier(context.env_exe, path, relative_symlinks_ok=True) if not os.path.islink(path): os.chmod(path, 0o755) - else: + elif sysconfig.is_python_build(True): + # See bpo-34011. This copying code should only be needed when a + # venv is created from a source Python build (i.e. not an installed + # Python) subdir = 'DLLs' include = self.include_binary files = [f for f in os.listdir(dirname) if include(f)] diff --git a/Misc/NEWS.d/next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst b/Misc/NEWS.d/next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst new file mode 100644 index 00000000000..8fcf8b51081 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst @@ -0,0 +1,4 @@ +A suite of code has been changed which copied across DLLs and init.tcl from +the running Python location into a venv being created. These copies are needed +only when running from a Python source build, and the copying code is now only +run when that is the case, rather than whenever a venv is created.