首页 > 编程语言 >python打包exe总结 pyinstaller py2exe

python打包exe总结 pyinstaller py2exe

时间:2023-06-29 16:00:40浏览次数:53  
标签:文件 exe pyinstaller py2exe python 打包

Python打包exe 有挺多可以用的 如pyinstaller py2exe cx_Freeze nuitka py2app py0xidizer 

cx_Freeze和nuitka没用过 py2app是打包Mac程序的 py0xidizer是打包嵌入式的 占用空间少 感兴趣可以自行了解 这篇文章记录一下pyinstaller和py2exe的用法 以便以后查找 

 

注:以下都是windows下 linux应该差别不大

pyinstaller 

安装:pip installer pyinstaller 

用法:打开cmd 切换到你的python安装目录里的Script目录  输 pyinstaller [参数] [参数] 要打包的文件 回车

示例 pyinstaller -F shili.py 或者把目录添加到环境变量 就可以随时随地执行了 

添加环境变量:win10下:右键此电脑>属性>高级设置>环境变量>下方框里有一个path 点击然后编辑 把你的目录添加进去 然后一路确定回来 推荐直接复制粘贴 手动输容易输错 

参数可以参考 PyInstaller各参数含义_pyinstaller 参数_张栈不全的博客-CSDN博客很全 

总结常用的几个

-D :生成出来是一个文件夹 里面包含各种依赖的库和资源 还有exe 默认是这个

-F:生成一个exe文件 所有资源都打包在exe里 

-n:生成出来exe和.spec文件的名字 默认是你脚本的名字

-i:exe的图标

-c:生成出来的exe文件打开有cmd窗口

-w:隐藏命令行窗口

--exclude-module:排除不需要的库 可以减少文件的大小

打包出来后执行可能会有一闪而过的场景 可以在cmd里执行 会有错误信息 方便排错

py2exe:官网:py2exe.org

安装:pip install py2exe

用法:需要先写一个py文件 内容是生成时的各种配置 

示例:这里需要把你的python目录添加到环境变量  

setup.py:

from distutils.core import setup #这里vscode会有波浪线提示 这个问题当时快速修复了 没看清是什么原因 这里推荐用vscode 其他编辑器可能编辑出来 打包会出错 指向distutils 可以快速修复
import py2exe

INCLUDES = []




setup( 
    zipfile=None,
    console = [{"script":'clipboard.py'}]) #要编译的文件
    options = {
        "py2exe" :
            {
                "compressed" : 1, # 压缩   
                "optimize" : 2,
                "bundle_files" : 1, # 所有文件打包成一个 exe 文件  
                "includes" : INCLUDES,
            }
    })

常用参数

setup: py2exe的核心函数,用于配置打包参数并运行打包过程。

windows: 用于打包带界面的程序

console: 用于打包命令行程序 

options: 用于指定各种打包选项,如生成zip文件、排除哪些模块等。

zipfile: 用于把程序需要的dll等文件打包zip 默认打包 设置none则把这些文件打包进exe

excludes: 用于排除不需要的python模块。

includes: 用于强制包含某些python模块。

packages: 用于自动包含某些python包。

dist_dir: 指定输出目录。

dll_excludes: 用于排除某些不需要的dll文件。

options里:

bundle_files: 指定打包的文件类型,0为分离的exe和dll,1为所有文件打包成单个exe中。

compressed:是否压缩 

写好setup.py后 放到要编译的文件同目录下 

然后打开cmd 切换到setup.py的目录 执行 python setup.py py2exe 就可以了 打包后的文件在同目录下的dist文件夹里   

 

遇到的坑

配置文件名必须是setup

一直打不进pyqt5等其他包 这个以后再研究吧 

标签:文件,exe,pyinstaller,py2exe,python,打包
From: https://www.cnblogs.com/mltooo/p/17513725.html

相关文章

  • npm install报gyp ERR! stack Error: Can't find Python executable "python", you ca
    1gypERR!stackError:Can'tfindPythonexecutable"python",youcansetthePYTHONenvvariable.2gypERR!stackatPythonFinder.failNoPython(/Users/scott/project/dx_project/front_project/workflow-frontend-elem/node_modules/node-......
  • PSExec 与 WMI
    郑重声明:本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。PSExec与WMI1PSExec1.1Windows下PSExec使用PSExec原理:通过管道在......
  • 问题记录:IDEA工程卡在Updating indexes一直加载
    https://blog.csdn.net/JyuSun/article/details/126401031?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-126401031-blog-128690534.235%5Ev38%5Epc_relevant_sort&depth_1-utm_source=distribute.pc......
  • gdb.exe: warning: Couldn't determine a path for the index cache directory.
    GDB调试中出现的警告D:\\gitee\\luatos-soc-2022\\out\\example_copy>arm-none-eabi-gdbexample.elfC:\\SysGCC\\bin\\arm-none-eabi-gdb.exe:warning:**Couldn'tdetermineapathfortheindexcachedirectory.......
  • 举例说明exec()函数的用法
    举例说明exec()函数的用法━━━━━━━━━━━━━━━━━━━━━━━━━exec()函数可以用于执行一段字符串作为代码,这在某些场景下非常有用。以下是一些exec()函数的用法示例:动态执行Python代码:code_str='print("Hello,World!")'exec(code_str)在这个例子中......
  • Android线程管理之ExecutorService线程池
    为什么要引入线程池?   1.)newThread()的缺点每次newThread()耗费性能调用newThread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。不利于扩展,比如如定时执行、定期执行、线程中断  2.)采用线程池的优点重用存在的......
  • pyqt5:自定义信号实现/pyqt 打开网页/app.exec_()
    1、自定义信号  2、pyqt打开网页importwebbrowserwebbrowser.open('https://www.zhihu.com/question/23711222')3、app.exec_()与sys.exit(app.exec_())区别:app.exec_()#等待app主循环结束的,并在结束后执行后面行的程序#sys.exit(app.exec_())#起到等待主循环结束......
  • 举例说明 exec() 函数的用法
    举例说明exec()函数的用法━━━━━━━━━━━━━━━━━━━━━━━━━exec()函数可以用于执行一段字符串作为代码,这在某些场景下非常有用。以下是一些exec()函数的用法示例:动态执行Python代码:code_str='print("Hello,World!")'exec(code_str)在这个例子中......
  • JDK/bin目录下的不同exe文件的用途(appletviewer、HtmlConverter、jar、java、javac、
    目录---------------------------------------1.javacexe2.appletviewerexe3.jarexe4.javadocexe5.javahexe6.HtmlConverterexe7.orbdexe8.policytoolexe9.rmicexe10.rmidexe11.rmiregistryexe12.serialverexe13.servertoolexe14.rmic15.rmid16.rmiregistry17.serialver18.jarsi......
  • 创建WinFrom项目,生成桌面exe安装包 【VS2019】
    一:添加WinFrom开发需要的工具  a)打开VS-->选择随意项目或继续无需代码-->工具-->获取工具和功能-->选中【.NET桌面开发】进行安装即可。二:创建WinFrom项目  a)打开VS-->创建新项目-->搜索窗体应用,选择Windows窗体应用(.NETFramework)如图所示-->修改项目名称、位置......