zoukankan      html  css  js  c++  java
  • 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
          )
  • 相关阅读:
    java对象和json对象之间互相转换
    SVN使用教程总结
    JVM调优总结-调优方法
    tomcat 高并发配置 与优化
    redis的主从复制配置
    Java实现Redis持久化到数据库的关键方法
    java操作redis
    SSO系统的实现
    jedisClient操作redis实现增删改查功能
    get与post
  • 原文地址:https://www.cnblogs.com/dzzy/p/9296131.html
Copyright © 2011-2022 走看看