diff options
| author | Antoine Pitrou <solipsis@pitrou.net> | 2011-03-15 20:08:50 (GMT) |
|---|---|---|
| committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-03-15 20:08:50 (GMT) |
| commit | 0e63f594928ac8b4551c0f46284744a246b179fd (patch) | |
| tree | 041279e74c3d45d0db5613712173bf746d9fa6b0 /Lib/distutils/archive_util.py | |
| parent | c15799f88a8add3c40bee7692b525d8a9182e491 (diff) | |
| parent | e870623e965ca017d32228486662b285d7b81ed0 (diff) | |
| download | cpython-0e63f594928ac8b4551c0f46284744a246b179fd.zip cpython-0e63f594928ac8b4551c0f46284744a246b179fd.tar.gz cpython-0e63f594928ac8b4551c0f46284744a246b179fd.tar.bz2 | |
Merge fix for issue #11501
Diffstat (limited to 'Lib/distutils/archive_util.py')
| -rw-r--r-- | Lib/distutils/archive_util.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/Lib/distutils/archive_util.py b/Lib/distutils/archive_util.py index 6dd0445..c06eba3 100644 --- a/Lib/distutils/archive_util.py +++ b/Lib/distutils/archive_util.py @@ -9,6 +9,12 @@ import os from warnings import warn import sys +try: + import zipfile +except ImportError: + zipfile = None + + from distutils.errors import DistutilsExecError from distutils.spawn import spawn from distutils.dir_util import mkpath @@ -74,11 +80,6 @@ def make_zipfile(base_name, base_dir, verbose=0, dry_run=0): available, raises DistutilsExecError. Returns the name of the output zip file. """ - try: - import zipfile - except ImportError: - zipfile = None - zip_filename = base_name + ".zip" mkpath(os.path.dirname(zip_filename), dry_run=dry_run) @@ -105,8 +106,12 @@ def make_zipfile(base_name, base_dir, verbose=0, dry_run=0): zip_filename, base_dir) if not dry_run: - zip = zipfile.ZipFile(zip_filename, "w", - compression=zipfile.ZIP_DEFLATED) + try: + zip = zipfile.ZipFile(zip_filename, "w", + compression=zipfile.ZIP_DEFLATED) + except RuntimeError: + zip = zipfile.ZipFile(zip_filename, "w", + compression=zipfile.ZIP_STORED) for dirpath, dirnames, filenames in os.walk(base_dir): for name in filenames: |
