• python 使用cx-freeze打包程序


    python环境 3.6.5      win7   linux环境同理

    先尝试了PyInstaller   ,打包时一直提示 no module named gtk   而gtk 又依赖pygobject ,尝试安装几次之后失败放弃

    改用cx-freeze

    首先写一个 setup.py

    1.py     2.py     是自己要打包的程序名字

    注意里面的四个绝对路径改成真实的路径,否则会爆各种奇怪的错误,运行   python setup.py install

    执行exe 比如下图,在python终端里面输入 import _tkinter是可以的,但是打包以后会这样报错,

    引入 tcl86t.dll和tk86t.dll 后问题解决

    然后很容易会报错如下图,解决办法是一个一个的在自己的python路径中找到这些.py文件,然后执行:python -m compileall   +文件名.py      再把生成的.pyc文件拷到打包项目的相应位置

     setup.py  :

    import sys
    from cx_Freeze import setup, Executable
    import os
    os.environ['TCL_LIBRARY'] = "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\tcl\tcl8.6"
    os.environ['TK_LIBRARY'] = "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\tcl\tk8.6"
    
    include_files = [r"C:UsersAdministratorAppDataLocalProgramsPythonPython36DLLs	cl86t.dll",
                     r"C:UsersAdministratorAppDataLocalProgramsPythonPython36DLLs	k86t.dll"]
    
    #打包所需要的第三库
    build_exe_options = {"packages": ["glob", "os", "numpy", "datetime", "PIL", "matplotlib", "scipy", "_tkinter"],
                         "includes ": ['numpy','glob','os','datetime','datetime','PIL', "matplotlib", "matplotlib.pyplot" ,"scipy", "_tkinter"]}
    
    base = None
    if sys.platform == 'win32':
        base = 'Win32GUI'
    
    options = {
        'build_exe': {
            'includes': 'atexit' ,'include_files': include_files
        }
    }
    
    executables = [
        Executable('1.py', base=base),
        Executable('2.py')
    ]
    
    setup(name='education',
          version='0.1',
          description='education software',
          options=options,
          executables=executables
          )
  • 相关阅读:
    encodeURIComponent与encodeURI的区别
    css实现强制不换行/自动换行/强制换行
    浏览器的visibilitychange 事件ie10以下不兼容
    判断IE版本的语句 [if lte IE 6]...[endif]
    jQueryr .on方法解析
    js判断IE6(推荐方法一)
    JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器
    js判断手机浏览器
    js数字格式化-四舍五入精简版
    jQuery scroll(滚动)延迟加载
  • 原文地址:https://www.cnblogs.com/dzzy/p/9296131.html
Copyright © 2020-2023  润新知