]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-34011: Update code copying DLLs and init.tcl into venvs. (GH-8253)
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 20 Jul 2018 16:07:38 +0000 (17:07 +0100)
committerGitHub <noreply@github.com>
Fri, 20 Jul 2018 16:07:38 +0000 (17:07 +0100)
Lib/venv/__init__.py
Misc/NEWS.d/next/Windows/2018-07-11-15-58-06.bpo-34011.Ho_d5T.rst [new file with mode: 0644]

index 716129d139871043ac27019ab815f29f6d2171b3..e0ab241f77c5114883ebb9acc4a16109d873667d 100644 (file)
@@ -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 (file)
index 0000000..8fcf8b5
--- /dev/null
@@ -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.