Python打包成exe常用的四种方法小结

作者:

文章目录
  • PyInstaller 是最常用的工具之一,支持跨平台(Windows、macOS、Linux)。它可以将Python脚本打包成单个可执行文件,并且支持打包依赖项。
  • cx_Freeze 是另一个流行的打包工具,支持跨平台。它可以将Python脚本打包成可执行文件,并且支持打包依赖项。 1.安装:  cxfreeze your_script.py –target-dir dist 2. 使用: cxfreeze your_script.py –target-dir dist
  • Py2exe 是一个专门用于将Python脚本打包成Windows可执行文件的工具。 1.安装: pip install py2exe 2.使用:创建一个 setup.py 文件: from distutils.core import setup import py2exe setup(console=[‘your_script.py’])  3.然后运行: python setup.py py2exe  打包后的文件会生成在 dist 目录下。
  • Nuitka 是一个Python到C++编译器,它可以将Python脚本编译成可执行文件。与上述工具不同,Nuitka 会将Python代码编译成C++代码,然后再编译成可执行文件,因此性能可能会有所提升。 1.安装: pip install nuitka 2.使用: nuitka –standalone –onefile your_script.py nuitka –follow-imports –show-progress –mingw64 main.py –follow-imports # 打包import的文件 –standalone # 脱离python环境 –show-progress # 展示打包详情的控制台输出 –include-package=requests # 将requests包打包进exe –mingw64 # 指定编译器 –plugin-enable=requests # 导入第三方包 -o wenshu.exe # 指定exe名字 –output-dir= # 指定打包后的路径,默认当前路径 –windows-disable-console # 去掉黑窗口 –windows-icon= # 指定图标 nuitka –plugin-list # 查看可用的插件 到此这篇关于Python打包成exe常用的四种方法的文章就介绍到这了,更多相关Python打包成exe内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 零基础写python爬虫之打包生成exe文件 将python文件打包exe独立运行程序方法详解 python3.7将代码打包成exe程序并添加图标的方法 python脚本打包后无法运行exe文件的解决方案 Python三种打包exe方法案例教程 Python打包为exe详细教程 将Python代码打包成.exe可执行文件的完整步骤 Python中.py文件打包成exe可执行文件详解 pycharm 将python文件打包为exe格式的方法 Python3 安装PyQt5及exe打包图文教程 解决python 打包成exe太大的问题
  • 目录
    • 一.PyInstaller1
      • 1.安装:
      • 2. PyInstaller常用参数下面是pyinstaller的常用参数:
      • 3.Flask项目打包为exe
      • 4.开始打包
    • 二.cx_Freeze
      • 三.Py2exe
        • 四.Nuitka

          将Python脚本打包成可执行文件(.exe)是分发Python应用程序的常见方式。以下是几种常用的方法:

          PyInstaller 是最常用的工具之一,支持跨平台(Windows、macOS、Linux)。它可以将Python脚本打包成单个可执行文件,并且支持打包依赖项。

          pip install pyinstaller
          

          1. –name : 指定可执行文件名称。
          2. –specpath: 指定spec文件的生成目录,默认为当前目录。
          3. -F, –onefile: 将整个应用程序打包到单个可执行文件中。
          4. -D, –onedir: 生成一个目录,包含多个文件。
          5. –add-data 、 –add-binary: 在构建中插入额外的数据或二进制文件,可用于绑定配置文件、示例或其他非代码数据。
          6. –exclude-module: 排除某些模块。
          7. -d, –debug: 提供debug输出。
          8. -w, –windowed, –noconsole: 关闭控制台窗口(仅对Windows有效)。
          9. -c, –nowindowed, –console: 使用命令行窗口(仅对Windows有效)。
          10. -i: 设置应用图标。

          在项目根目录,打开命令行窗口执行命令:pyinstaller 项目入口函数 即可进行打包,主要生成以下三个内容:

          1. *.spec 文件
          2. build/ 文件夹:用于构建可执行文件
          3. dist/ 文件夹:包含应用程序的所有依赖项和可执行文件

          在项目根目录执行如下命令,创建my_app.spec文件,内容如下:main.py为python项目入口文件,设置显示控制台:

          $ pyi-makespec -F -c main.py 
          
          # -*- mode: python ; coding: utf-8 -*-
          
          '''
          在打包导入某些模块时,常会出现"RecursionError: maximum recursion depth exceeded"的错误,
          这可能是打包时出现了大量的递归超出了python预设的递归深度。因此需要在spec文件上添加递归深度的设置,设置一个足够大的值来保证打包的进行,即
          '''
          import sys
          sys.setrecursionlimit(6000)
          block_cipher = None
          '''
          需要修改pathex的内容,写上所有py文件,和入口文件在一个目录的不用在前面加地址,否则要加绝对地址
          
          datas中是资源文件夹的所处位置,写法类似于python元组
          第一个参数:Python中的资源文件等非py类型文件的路径
          第二个参数:打包后路径,要和路径中的文件夹名称相同
          
          excludes中是无需导入的第三方库,直接写第三库的名称即可
          '''
          
          
          a = Analysis(
              ['main.py'], # flask入口
              pathex=['login.py','tool.py','ExcelMySQLToolModify.py'],
              binaries=[],    
              datas=[("E:/**/templates","/templates"),("E:/**/static","/static")],# 将资源的绝对路径转换为你打包的exe的相对路径
              hiddenimports=[],
              hookspath=[],
              hooksconfig={},
              runtime_hooks=[],
              excludes=['opencv-python','beautifulsoup4'],   #第三库的名称
              win_no_prefer_redirects=False,
              win_private_assemblies=False,
              cipher=block_cipher,
              noarchive=False,
          )
          pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
          
          exe = EXE(
              pyz,
              a.scripts,
              a.binaries,
              a.zipfiles,
              a.datas,
              [],
              name='my_flask_app', #名字自己定
              debug=False,
              bootloader_ignore_signals=False,
              strip=False,
              upx=True,
              upx_exclude=[],
              runtime_tmpdir=None,
              console=True,
              disable_windowed_traceback=False,
              argv_emulation=False,
              target_arch=None,
              codesign_identity=None,
              entitlements_file=None,
              icon='D:\images\logo.ico', # 程序图标,具体路径
          )
          
          

          运行以下命令来使用PyInstaller根据my_app.spec文件打包flask应用程序:

          pyinstaller main.spec
          

          cx_Freeze 是另一个流行的打包工具,支持跨平台。它可以将Python脚本打包成可执行文件,并且支持打包依赖项。

          1.安装: 

          cxfreeze your_script.py --target-dir dist
          

          2. 使用:

          cxfreeze your_script.py --target-dir dist

          Py2exe 是一个专门用于将Python脚本打包成Windows可执行文件的工具。

          1.安装:

          pip install py2exe
          

          2.使用:创建一个 setup.py 文件:

          from distutils.core import setup
          import py2exe
          
          setup(console=['your_script.py'])
          

           3.然后运行:

          python setup.py py2exe
          

           打包后的文件会生成在 dist 目录下。

          Nuitka 是一个Python到C++编译器,它可以将Python脚本编译成可执行文件。与上述工具不同,Nuitka 会将Python代码编译成C++代码,然后再编译成可执行文件,因此性能可能会有所提升。

          1.安装:

          pip install nuitka
          

          2.使用:

          nuitka --standalone --onefile your_script.py
          
           nuitka --follow-imports --show-progress --mingw64 main.py
           --follow-imports  # 打包import的文件
           --standalone  # 脱离python环境
           --show-progress  # 展示打包详情的控制台输出
           --include-package=requests  # 将requests包打包进exe
           --mingw64  # 指定编译器
           --plugin-enable=requests  # 导入第三方包
           -o wenshu.exe # 指定exe名字
           --output-dir=  # 指定打包后的路径,默认当前路径
           --windows-disable-console  # 去掉黑窗口
           --windows-icon=  # 指定图标
           
           nuitka  --plugin-list  # 查看可用的插件

          到此这篇关于Python打包成exe常用的四种方法的文章就介绍到这了,更多相关Python打包成exe内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

          您可能感兴趣的文章:

          • 零基础写python爬虫之打包生成exe文件
          • 将python文件打包exe独立运行程序方法详解
          • python3.7将代码打包成exe程序并添加图标的方法
          • python脚本打包后无法运行exe文件的解决方案
          • Python三种打包exe方法案例教程
          • Python打包为exe详细教程
          • 将Python代码打包成.exe可执行文件的完整步骤
          • Python中.py文件打包成exe可执行文件详解
          • pycharm 将python文件打包为exe格式的方法
          • Python3 安装PyQt5及exe打包图文教程
          • 解决python 打包成exe太大的问题

          站内搜索