summaryrefslogtreecommitdiffstats
path: root/Lib/venv/__init__.py
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2012-10-28 15:48:24 (GMT)
committerBrett Cannon <brett@python.org>2012-10-28 15:48:24 (GMT)
commit0e8c49d3583bbe86dd26f07819fd526eda8a0dcc (patch)
treecd085f2d606c69f7569e5006b6fa98faf7001197 /Lib/venv/__init__.py
parent6a85f3cbe4b43860c527c43bd5da0220c4f96c0e (diff)
parent8ca705d5495f02ad93380e1f960adb98f7c00e22 (diff)
downloadcpython-0e8c49d3583bbe86dd26f07819fd526eda8a0dcc.zip
cpython-0e8c49d3583bbe86dd26f07819fd526eda8a0dcc.tar.gz
cpython-0e8c49d3583bbe86dd26f07819fd526eda8a0dcc.tar.bz2
merge
Diffstat (limited to 'Lib/venv/__init__.py')
-rw-r--r--Lib/venv/__init__.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
index e7373e1..1b91c22 100644
--- a/Lib/venv/__init__.py
+++ b/Lib/venv/__init__.py
@@ -313,11 +313,17 @@ class EnvBuilder:
mode = 'wb'
else:
mode = 'w'
- data = data.decode('utf-8')
- data = self.replace_variables(data, context)
- with open(dstfile, mode) as f:
- f.write(data)
- shutil.copymode(srcfile, dstfile)
+ try:
+ data = data.decode('utf-8')
+ data = self.replace_variables(data, context)
+ except UnicodeDecodeError as e:
+ data = None
+ logger.warning('unable to copy script %r, '
+ 'may be binary: %s', srcfile, e)
+ if data is not None:
+ with open(dstfile, mode) as f:
+ f.write(data)
+ shutil.copymode(srcfile, dstfile)
def create(env_dir, system_site_packages=False, clear=False, symlinks=False):