[Python-checkins] bpo-36441: Fixes creating a venv when debug binaries are installed. (GH-12566)
Miss Islington (bot)
webhook-mailer at python.org
Wed Mar 27 11:48:00 EDT 2019
https://github.com/python/cpython/commit/65445f65e6080310d612f73083ba172eb2c6e326
commit: 65445f65e6080310d612f73083ba172eb2c6e326
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-03-27T08:47:57-07:00
summary:
bpo-36441: Fixes creating a venv when debug binaries are installed. (GH-12566)
(cherry picked from commit 4a9a505d6f2474a570422dad89f8d1b344d6cd36)
Co-authored-by: Steve Dower <steve.dower at microsoft.com>
files:
A Misc/NEWS.d/next/Windows/2019-03-26-11-46-15.bpo-36441.lYjGF1.rst
M Lib/venv/__init__.py
M Tools/msi/lib/lib_files.wxs
diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
index 4fbd954f200d..7836dfba04ca 100644
--- a/Lib/venv/__init__.py
+++ b/Lib/venv/__init__.py
@@ -193,6 +193,9 @@ def symlink_or_copy(self, src, dst, relative_symlinks_ok=False):
src = os.path.join(os.path.dirname(src), basename + ext)
else:
src = srcfn
+ if not os.path.exists(src):
+ logger.warning('Unable to copy %r', src)
+ return
shutil.copyfile(src, dst)
diff --git a/Misc/NEWS.d/next/Windows/2019-03-26-11-46-15.bpo-36441.lYjGF1.rst b/Misc/NEWS.d/next/Windows/2019-03-26-11-46-15.bpo-36441.lYjGF1.rst
new file mode 100644
index 000000000000..b27abff62098
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-03-26-11-46-15.bpo-36441.lYjGF1.rst
@@ -0,0 +1 @@
+Fixes creating a venv when debug binaries are installed.
diff --git a/Tools/msi/lib/lib_files.wxs b/Tools/msi/lib/lib_files.wxs
index a9952bdac4db..251f9b1aeb86 100644
--- a/Tools/msi/lib/lib_files.wxs
+++ b/Tools/msi/lib/lib_files.wxs
@@ -69,6 +69,15 @@
</Fragment>
<Fragment>
+ <!-- The auto-generated directory is not available when building debug binaries -->
+ <DirectoryRef Id="Lib">
+ <Directory Id="Lib_venv__d" Name="venv">
+ <Directory Id="Lib_venv_scripts__d" Name="scripts">
+ <Directory Id="Lib_venv_scripts_nt__d" Name="nt" />
+ </Directory>
+ </Directory>
+ </DirectoryRef>
+
<ComponentGroup Id="lib_extensions_d">
<?foreach ext in $(var.exts)?>
@@ -87,6 +96,12 @@
<Component Id="sqlite3_d.pdb" Directory="DLLs" Guid="*">
<File Name="sqlite3_d.pdb" KeyPath="yes" />
</Component>
+ <Component Id="venvlauncher_d.exe" Directory="Lib_venv_scripts_nt__d" Guid="*">
+ <File Name="python_d.exe" Source="venvlauncher_d.exe" KeyPath="yes" />
+ </Component>
+ <Component Id="venvwlauncher_d.exe" Directory="Lib_venv_scripts_nt__d" Guid="*">
+ <File Name="pythonw_d.exe" Source="venvwlauncher_d.exe" KeyPath="yes" />
+ </Component>
</ComponentGroup>
</Fragment>
<Fragment>
More information about the Python-checkins
mailing list