zoukankan      html  css  js  c++  java
  • .py转.exe

    https://blog.csdn.net/Nire_Yeyu/article/details/104683888/

    安装:pip install pyinstaller

    安装时报错,原因是环境变量需要在多配一个路径

    打包为exe,版本尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但如果不考虑32位系统的话就无所谓,直接python64位版本直接打包即可,只是只能在win64位系统上跑

    pyinstaller的打包机制:我们写的python脚本是不能脱离python解释器单独运行的,所以在打包时,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe;即使我们项目只使用一个requests包,但可能还安装了其它n个包,但是他不管,因为包和包有依赖关系,如果我们只装了一个requests包,但requests包会顺带装一些其它依赖小包,所以为了安全,只能将所有三方包+python解释器一起打包。如下图所示

     

     打包成功的信息如下:

    D:pylx20210622>pyinstaller -F plcjwj.py
    71 INFO: PyInstaller: 3.3.1
    71 INFO: Python: 3.6.2
    72 INFO: Platform: Windows-10-10.0.18362-SP0
    74 INFO: wrote D:pylx20210622plcjwj.spec
    76 INFO: UPX is not available.
    78 INFO: Extending PYTHONPATH with paths
    ['D:\pylx\20210622', 'D:\pylx\20210622']
    78 INFO: checking Analysis
    81 INFO: Building because D:pylx20210622plcjwj.py changed
    81 INFO: Initializing module dependency graph...
    84 INFO: Initializing module graph hooks...
    86 INFO: Analyzing base_library.zip ...
    3620 INFO: running Analysis out00-Analysis.toc
    3623 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
    required by d:userszrappdatalocalprogramspythonpython36python.exe
    3879 INFO: Caching module hooks...
    3884 INFO: Analyzing D:pylx20210622plcjwj.py
    3889 INFO: Loading module hooks...
    3889 INFO: Loading module hook "hook-encodings.py"...
    3996 INFO: Loading module hook "hook-pydoc.py"...
    3997 INFO: Loading module hook "hook-xml.py"...
    4299 INFO: Looking for ctypes DLLs
    4299 INFO: Analyzing run-time hooks ...
    4307 INFO: Looking for dynamic libraries
    4384 INFO: Looking for eggs
    4384 INFO: Using Python library d:userszrappdatalocalprogramspythonpython36python36.dll
    4384 INFO: Found binding redirects:
    []
    4392 INFO: Warnings written to D:pylx20210622uildplcjwjwarnplcjwj.txt
    4441 INFO: Graph cross-reference written to D:pylx20210622uildplcjwjxref-plcjwj.html
    4454 INFO: checking PYZ
    4456 INFO: Building because toc changed
    4456 INFO: Building PYZ (ZlibArchive) D:pylx20210622uildplcjwjout00-PYZ.pyz
    4997 INFO: Building PYZ (ZlibArchive) D:pylx20210622uildplcjwjout00-PYZ.pyz completed successfully.
    5005 INFO: checking PKG
    5006 INFO: Building because toc changed
    5006 INFO: Building PKG (CArchive) out00-PKG.pkg
    5077 INFO: Updating manifest in C:UserszrAppDataRoamingpyinstallerincache00_py36_64bitunicodedata.pyd
    5077 INFO: Updating resource type 24 name 2 language 1033
    6561 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
    6565 INFO: Bootloader d:userszrappdatalocalprogramspythonpython36libsite-packagesPyInstallerootloaderWindows-64bit un.exe
    6565 INFO: checking EXE
    6567 INFO: Rebuilding out00-EXE.toc because plcjwj.exe missing
    6567 INFO: Building EXE from out00-EXE.toc
    6567 INFO: Appending archive to EXE D:pylx20210622distplcjwj.exe
    6578 INFO: Building EXE from out00-EXE.toc completed successfully.

     

     

     

    pyinstaller -w -F XXX.py

    -F是覆盖之前的打包

    在.py转.exe过程中遇到了一个问题,

    原因是:https://blog.csdn.net/weixin_41010198/article/details/87255393

    这是因为您enum不是标准的库enum模块。您可能已enum34安装该软件包。
    检查是否属于这种情况的一种方法是检查财产 enum.file

    从python 3.6开始,enum34库不再与标准库兼容。该库也是不必要的,因此您只需卸载它即可。
    我安装的python版本是3.6.5版本的,所有直接卸载enum库即可

  • 相关阅读:
    【java编程】java的关键字修饰符
    【分布式锁】redis实现
    【java高级编程】JDK和CGLIB动态代理区别
    【druid 】数据库连接池
    【druid 】数据库连接池-sql解析
    【mysql】Mha实现高可用数据库架构
    【mysql】工具使用
    7.7 服务远程暴露
    7.6 服务远程暴露
    7.5 zookeeper客户端curator的基本使用 + zkui
  • 原文地址:https://www.cnblogs.com/ruijie/p/14926139.html
Copyright © 2011-2022 走看看