New submission from Mariano M. Chouza :
When trying to import a module from a ZIP archive containing more than 65535
files, the import process fails:
$ python3 -VV
Python 3.6.4 (default, Jan 6 2018, 11:49:38)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]
$ cat create_zips.py
from zipfile import ZipFile
with ZipFile('below.zip', 'w') as zfp:
for i in range(65535):
zfp.writestr('m%d.py' % i, '')
with ZipFile('over.zip', 'w') as zfp:
for i in range(65536):
zfp.writestr('m%d.py' % i, '')
$ python3 create_zips.py
$ python -m zipfile -l below.zip | (head -2 && tail -2)
File Name Modified Size
m0.py 2018-02-26 20:57:320
m65533.py 2018-02-26 20:57:360
m65534.py 2018-02-26 20:57:360
$ python -m zipfile -l over.zip | (head -2 && tail -2)
File Name Modified Size
m0.py 2018-02-26 20:57:360
m65534.py 2018-02-26 20:57:400
m65535.py 2018-02-26 20:57:400
$ PYTHONPATH=below.zip python3 -c 'import m0'
$ PYTHONPATH=over.zip python3 -c 'import m0'
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'm0'
I think the problem is related to the zipimport module not handling the 'zip64
end of central directory record'.
--
components: Library (Lib)
messages: 312957
nosy: mchouza
priority: normal
severity: normal
status: open
title: zipimport fails when the ZIP archive contains more than 65535 files
type: behavior
versions: Python 3.6
___
Python tracker
<https://bugs.python.org/issue32959>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com