zipfile.LargeZipFile: Filesize would require ZIP64 extensions

本文详细介绍了如何通过修改Python的wheel包中archive.py文件的ZipFile参数,以支持大文件并解决由ZipFile引起的错误。通过增加allowZip64参数为True,可以确保在创建ZIP文件时能够正确处理超过4GB大小的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

solved by modifying /usr/lib/python2.7/site-packages/wheel/archive.py:46

    # XXX support bz2, xz when available
    zip = zipfile.ZipFile(open(zip_filename, "wb+"), "w",
-                         compression=zipfile.ZIP_DEFLATED)
+                         compression=zipfile.ZIP_DEFLATED, allowZip64=True)

    score = {'WHEEL': 1, 'METADATA': 2, 'RECORD': 3}
    deferred = []

    def writefile(path, date_time):
        st = os.stat(path)
        if date_time is None:
            mtime = time.gmtime(st.st_mtime)
            date_time = mtime[0:6]
        zinfo = zipfile.ZipInfo(path, date_time)
        zinfo.external_attr = st.st_mode << 16
        zinfo.compress_type = zipfile.ZIP_DEFLATED
-       with open(path, 'rb') as fp:
-            zip.writestr(zinfo, fp.read())
+       zip.write(path, arcname=zinfo.filename, compress_type=zipfile.ZIP_DEFLATED)
        log.info("adding '%s'" % path)

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值