We have an issue with the Python cheeseshop which is probably an issue with Python itself as well. When we create a zip file with standard linux tools ('zip os-zipped.zip *'), uploading it works fine. But if we use the zipfile module from Python and try to upload the result to the cheeseshop, we get this error message: " Error unpacking zipfile:[Errno 2] No such file or directory: u'/data/packagedocs/Pympler/_sources/index.txt'" Turns out that the Python-zipped version does not include explicit directories. The OS-zipped version contains "directory/, directory/asizeof.txt", the Python-zipped file only "directory/asizeof.txt". Digging deeper, Python has no way to explicitly add directories to a zip file. It would be useful to have an option which allows the explicit creation of directories inside of zip files. This would help when working with applications which do not create directories if they are not explicitly specified.
it looks like this is fixed in 2.6.2. I'm attaching a zipfile which cannot be extracted in 2.6.1 Running python -c 'import zipfile; zipfile.ZipFile("test.zip").extractall()' in 2.6.2 however works. but you should not do that anyway because of issue 6972
Actually now creating directories in zipfile is possible with ZipFile.writestr(special_zip_info, b''). However a special method (like ZipFile.mkdir(name)) can be useful.
I've submitted the above patch. I created the ZipFile.mkdir function, created the necessary tests and wrote the documentation. I think it is ready for review.