程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'?

开发过程中遇到如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'的问题如何解决?下面主要结合日常开发的经验,给出你关于如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'的解决方法建议,希望对你解决如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'有所启发或帮助;

这是由py2exe中的错误引起的,它将在下一个版本中修复。更多信息

该解决方案是添加ctypesbootstrap_modulesC:\python34\lib\site- packages\py2exe\runtime.py文件(行117)。

...
# modules which are always needed
bootstrap_modules = {
    # Needed for Python itself:
    "ctypes",
    "codecs",
    "io",
    "enCodings.*",
    }
...

解决方法

我想知道这是否可能是编译错误,或者是否有什么办法可以阻止它显示。我为cmd做了一个argparse程序。我用py2exe编译了它,当我运行它时,它会正确执行该程序,但在运行代码之前始终会出现此错误:

TraceBACk (most recent call last):
  File "boot_common.py",line 46,in <module>
ImportError: No module named 'ctypes'

如果这是我的代码中的内容,则这是我的脚本:

import argparse
import zipfile
import os
from contextlib import closing

def parse_args():
    parser = argparse.ArgumentParser('ziputil '+\
    '-m <mode> -f <file> -p <output>')
    parser.add_argument('-f',action="store",dest='files',type=str,Help='-f <file> : Specify the files to be zipped,or the .zip to be unzipped.')
    parser.add_argument('-m',dest='mode',Help='-m <mode> : Zip to zip files,UnZip,to unzip files,or     ZipDir to zip entire directories.')
    parser.add_argument('-p',dest='path',nargs='?',const=os.getcwd(),Help='-p <path> : specify the path to unpack/pack to.')


    return vars(parser.parse_args())

def unzipPackage(path,files):
    with zipfile.ZipFile(files,"r") as z:
        z.extractall(path)

def zipPackage(path,files):
    files = files.split(',')
    zf = zipfile.ZipFile(path,mode='w')
    try:
        for file in files:
            zf.write(filE)
    finally:
        zf.close()

def zipdir(path,zip):
    for root,dirs,files in os.walk(path):
        for file in files:
            zip.write(os.path.join(root,filE))



Dict = parse_args()
files = Dict['files']
path = Dict['path']
mode = Dict['mode']

if mode == 'Zip':
    zipPackage(path,files)
elif mode == 'UnZip':
    unzipPackage(path,files)
elif mode == 'ZipDir':
    zipf = zipfile.ZipFile(path,'w')
    zipdir(files,zipf)
    zipf.close()

大佬总结

以上是大佬教程为你收集整理的如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'全部内容,希望文章能够帮你解决如何阻止py2exe中编译的Python程序显示ImportError:No Module names'ctypes'所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。