• python cx_Freeze安装详解、打包exe文件简解


    最近想打包自己写的程序,前面用了Python pyinstaller,但是总会出现其他目录的.py文件找不到的问题,弄了一天,放弃了。现在试试Python cx_freeze。

    1. 安装:

    pip install cx-freeze 安装。在安装时出现 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":……

    查看资料要去https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的Microsoft Visual C++ 14.0

    下载对应的版本,cp37的意思是python37版(我用的版本)安装。

    pip install D:Program Files下载cx_Freeze-5.1.1-cp37-cp37m-win_amd64.whl

    然后运行

    pip install cx_freeze

    发现已经安装好了,进入Python37Libsite-packages路径发现有2个文件

    Python37Scripts路径下有

    打开CMD,cd 到Python37Scripts路径下运行

     python cxfreeze-postinstall

    这会安装成功了吧!

    cmd 运行

    cxfreeze -h

    失败!

    'C:Program' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    后来查看资料,发现要修改上图中的cxfreeze.bat文件,文件中就是python3以及cx_freeze的路径,启动python3,运行cx_freeze,并回显到控制台上,我发现我的python3安装在C:Program Files路径下,而.bat文件不能读取空格(坑……),最后将路径用引号夸起来保存。

    在次运行cxfreeze -h

    Usage: cxfreeze [options] [SCRIPT]
    
    Freeze a Python script and all of its referenced modules to a base
    executable which can then be distributed without requiring a Python
    installation.
    
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -O                    optimize generated bytecode as per PYTHONOPTIMIZE; use
                            -OO in order to remove doc strings
      -c, --compress        compress byte code in zip files
      -s, --silent          suppress all output except warnings and errors
      --base-name=NAME      file on which to base the target file; if the name of
                            the file is not an absolute file name, the
                            subdirectory bases (rooted in the directory in which
                            the freezer is found) will be searched for a file
                            matching the name
      --init-script=NAME    script which will be executed upon startup; if the
                            name of the file is not an absolute file name, the
                            subdirectory initscripts (rooted in the directory in
                            which the cx_Freeze package is found) will be searched
                            for a file matching the name
    ……
    ……
    ……

    这个显示OK!

      2.打包

    运行到脚本路径下

    cxfreeze main.py --target-dir dist

    在dist目录下生成这4个文件,将main.exe运行,闪退……

    最后发现所有.py文件都不能有中文字符,否则会出现编码异常。完……

  • 相关阅读:
    一段获取windows环境变量的代码
    尝试word2007的blog发布
    如何求一表所有行所有字段实际占用的空间
    如何查询全表扫描SQL
    Oracle 33个等待事件
    如何使用RMAN
    如何使用Diagnostics工具监控应用服务器
    如何查询每行数据的数据块信息
    如何理解recursive calls,db block gets和consistent gets
    如何编写批处理与SQLPLUS(例子)
  • 原文地址:https://www.cnblogs.com/gexbooks/p/11270206.html
Copyright © 2020-2023  润新知