Python打包成exe可执行文件
Python打包成exe可执行文件
我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的
xx.py
文件发给他,他是不能直接用的,他还需要安装
python
解释器,甚至还要安装我们用的那些第三方包,是不是有点小麻烦?但是我们都知道,
PC
是可以直接运行
exe
文件的,这就为我们提供了一个便捷的方式。
【注】 如果打包为
exe
的话,版本尽量选择
python3.6+32
位版本,因为
win64
位系统向下兼容
32
位程序,但是如果不考虑
32
位系统的话无所谓,直接
python64
位版本直接打包就可以,只是只能在
win64
位系统上跑。
安装pyinstaller
首先安装pyinstaller
,使用安装命令:pip3 install pyinstaller
pyinstaller打包机制
我们写的python
脚本是不能脱离python
解释器单独运行的,所以在打包的时候,至少会将python
解释器和脚本一起打包,同样,为了打包的exe
能正常运行,会把我们所有安装的第三方包
一并打包到exe
。
即使我们的项目只使用的一个requests
包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests
包,但是requests
包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器
一起打包。
Pyinstaller打包exe
我们来将这个
.py
的文件打包成一个exe
,我们直接cmd
切换到这个脚本的目录,执行命令:pyinstaller-F setup.py
。
【注】-F
参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。执行完毕之后,会生成几个文件夹.
在
dist
里面呢,就有了一个exe
程序,这个就是可执行的exe
程序。
点击运行我们可以看到,后面有一个黑洞洞的窗口(控制台),这就有点尴尬了,所以,如果我们不需要这个的话,我们的打包命令也要变一下。
执行 pyinstaller -F -wsetup.py
多加-w
以后,就不会显示黑洞洞的控制台了
pyinstaller -F -w xxx.py
但是我们打包的exe
,我们的图标呀,实在是有点丑陋,默认的,没有一点自己的风格,那么,我们应该怎么改一下呢?
执行以下命令:
pyinstaller -F -w-i xxx.ico xxx.py
【注】程序路径最好全部都是英文,否则可能会出现莫名其妙的问题
总结命令
Pyinstaller -F setup.py
打包exe
Pyinstaller -F -w setup.py
不带控制台的打包Pyinstaller -F -i xx.ico setup.py
打包指定exe
图标打包
平常我们只需要这三个就好了,足够满足所有需求了。
到这之后呢,python
打包成exe
基本算是结束了,记得一定要把pip
升级成最新版
的pip
在安装pyinstaller
哈。要不然可能会出现莫名奇妙的问题。
可能会碰到的一些常见问题
- Python打包成exe,文件太大问题
- pyinstaller打包:AttributeError: module ‘win32ctypes.pywin32.win32api’ has no attribute ‘error’
- pyinstaller设置图标出现“struct.error: unpack requires a buffer of 16 bytes”
Python打包成exe可执行文件的更多相关文章
- 將Python打包成 exe可执行文件
利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執行.本篇將介紹利用套件「PyInstal ...
- windows平台下python 打包成exe可执行文件
第一步 安装 pyinstaller 命令行下运行:pip install pyinstaller 第二步 打包安装 pyinstaller Test.py 第三步 完成 找到打包目录下dist目录 ...
- 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)
解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...
- PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...
- Python抖音视频去水印,并打包成exe可执行文件
前言 抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成exe可执行文件,可以发给你的好友使 ...
- 如何把py文件打包成exe可执行文件
如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...
- 打包成exe可执行文件的方法
Python安装扩展库与打包成exe可执行文件的方法 1.安装扩展库的几种方法. 首先可能需要使用 pip install --upgrade pip 来升级本机的pip程序.然后在命令提示符环境(即 ...
- Python打包成exe,文件太大问题解决办法
Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...
- python打包成exe
目前有三种方法可以实现python打包成exe,分别为 py2exe Pyinstaller cx_Freeze 其中没有一个是完美的 1.py2exe的话不支持egg类型的python库 2.Pyi ...
随机推荐
- HTML 网页开发、CSS 基础语法——八.HTML基本语法
表格制作 1.表格基础 创建一个简单的表格至少有三个标签组成,分别是<table>,<tr>,<td>标签. table:表格,定义的是整个的表格大结构. tr:t ...
- 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 百篇博客分析OpenHarmony源码 | v3.05
百篇博客系列篇.本篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- P4338-[ZJOI2018]历史【LCT】
正题 题目链接:https://www.luogu.com.cn/problem/P4338 题目大意 给出\(n\)个点的一棵树,和每个点进行\(access\)的次数\(a_i\),要求安排一个顺 ...
- 把之前CompletableFuture留下的坑给填上。
你好呀,我是歪歪. 填个坑吧,把之前一直欠着的 CompletableFuture 给写了,因为后台已经收到过好几次催更的留言了. 这玩意我在之前写的这篇文章中提到过:<面试官问我知不知道异步编 ...
- 关于django配置好静态文件后打开相关图片页显示404的解决方法
在url里设置以上代码即可,即可解决图片显示异常(出现此问题的根本原因是django版本)django3后需要加以上代码)
- 前段---css
css主要是用来做如何显示html元素的 当浏览器读到一个样式表,它就会按照这个样式表来对文档做渲染 注意:每一个css样式表都是由两个部分组成的, 1,选择器 2,声明 声明又包括属性值和属性,每个 ...
- nmap常用命令汇总
nmap常用命令 选项 解释 使用举例 举例说明 Nmap主机发现 -sP Ping扫描 -P0 无Ping扫描 -PS TCP SYN Ping扫描 -PA TCP ACK ...
- Android构建工具--AAPT2源码解析(一)
一.什么是AAPT2 在Android开发过程中,我们通过Gradle命令,启动一个构建任务,最终会生成构建产物"APK"文件.常规APK的构建流程如下: (引用自Google官方 ...
- 寻找写代码感觉(八)之SpringBoot过滤器的使用
一.什么是过滤器? 过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的, ...
- 单片机STM32学习笔记之寄存器映射详解
我们知道,存储器本身没有地址,给存储器分配地址的过程叫存储器映射,那什么叫寄存器映射?寄存器到底是什么? 在存储器Block2 这块区域,设计的是片上外设,它们以四个字节为一个单元,共32bit,每一 ...