首页 > 编程语言 >python文件打包成exe(pyinstaller)

python文件打包成exe(pyinstaller)

时间:2023-09-21 09:35:22浏览次数:38  
标签:文件 exe pyinstaller python py 密码 加密 encrypt 打包

参数说明

-F, –onefile | 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码
-w, –windowed,–noconsole | 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-i, <FILE.ICO> | 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 
-n, –name=NAME | 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec及可执行文件的名字

打包步骤

注:以下操作无特殊说明,均在虚拟环境下进行

1、先创建python虚拟环境(略)
2、激活虚拟环境

# 运行虚拟环境目录下的activate.bat即可激活
D:\>"d:Program File\Python Virautlenv\pwd_encrypt\Scripts\activate"
(pwd_encrypt) D:\>

3、安装好py文件中用到的库及打包所需的pyinstaller库(略)
4、将自己要打包的py文件、icon文件等,放在一个单独的目录中。如下案例,我的单独目录是“密码加密”,放置在桌面上
5、cd到上述的目录中

(pwd_encrypt) D:\>c:
(pwd_encrypt) C:\Users\xxxx>cd Desktop\密码加密

6、打包

  • 6.1、将整体打包成一个exe文件,没有其他配置的情况
# pyinstaller -F -w -i icon文件名 -n 打包后的exe名称(不加后缀名) 需要打包的py文件
(pwd_encrypt) C:\Users\xxxx\Desktop\密码加密>pyinstaller -F -w -i icon文件名 -n 密码加密 encrypt_tool.py

执行上述命令后,会生成builddist目录及一些其他文件,进入dist,有个.exe的文件,即最后的可执行文件,该文件可拷贝至任意windows电脑运行

  • 6.2、带有配置文件的exe程序

6.2.1、先打包py文件,生成5.1中提到的相关目录

(pwd_encrypt) C:\Users\xxxx\Desktop\密码加密>pyinstaller -w -i icon文件名 -n 密码加密 encrypt_tool.py

6.2.2、编辑以.spec结尾的文件,在打包过程中会打印该文件的路径(如:115 INFO: wrote C:\Users\rongge\Desktop\密码加密\密码加密小工具.spec)。修改datas=[],加入自己配置文件的文件名及路径,如,我的配置文件就在打包的目录中,可以直接写成datas=[(‘data.ini’,’.’)],更改后保存关闭该文件
6.2.3、对修改后的.spec文件打包

(pwd_encrypt) C:\Users\rongge\Desktop\密码加密>pyinstaller -F 密码加密小工具.spec

打包过程中会有覆盖提示,输入y即可。打包完成后,会在dist\密码加密小工具目录下生成data.ini配置文件
6.2.4、双击运行.exe.文件后,程序会自动读取配置。分享给他人时,只需要复制密码加密小工具目录就可以。

标签:文件,exe,pyinstaller,python,py,密码,加密,encrypt,打包
From: https://www.cnblogs.com/rong-z/p/17719104.html

相关文章

  • [880] Calculate Field in ArcGIS Pro (with python code)
    Firstly,weshoulddefineafunction.defIsFlood(join_count):ifjoin_count>0:return"Yes"else:return"No"Secondly,weshouldcallthisfunctionusingtheotherfieldslike IsFlood(!Join_Count!)Here......
  • 在线问诊 Python、FastAPI、Neo4j — 创建 饮食节点
    目录饮食数据创建节点根据疾病、症状,判断出哪些饮食不能吃,哪些建议多吃饮食数据foods_data.csv建议值用“”引起来。避免中间有,号造成误识别饮食"辣椒""大蒜""芥末""海鲜""胡萝卜""核桃仁""菠菜""西红柿""香蕉"创建节点重构代码,将defexecute_write(sel......
  • mmap:Python内存映射文件操作
    前言内存映射通常可以提高I/O的性能,因为使用内存映射时,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据,内核和用户都能很方便的直接访问内存。本篇,将详细介绍Python内存映射库:mmap。mmap(读文件)使用mmap()函数可以创建一个内存映射文件。该函数的第1个......
  • python07
    2.字符串格式化字符串格式化,使用更便捷的形式实现字符串的拼接。2.1%2.1.1基本格式化操作name="张云嘉"age=18text="我叫%s,今年%s岁"%("张云嘉",18)text="我叫%s,今年%s岁"%(name,age)text="我叫%s,今年%d岁"%(name,age)text="我叫%(name)s,今年%d岁"......
  • Python
    扫雷importrandom#游戏设置board_size=10#游戏板尺寸num_mines=10#地雷数量#创建游戏板board=[[''for_inrange(board_size)]for_inrange(board_size)]mines=set()#随机布置地雷whilelen(mines)<num_mines:x=random.randint(0,boa......
  • Python-day13
    复习:字符串#字符串生成#字符串对齐#大小写变换#字符串劈分#字符串判断相关方法#字符串替换与合并#字符串比较#字符串切片#格式化字符串#字符串编码解码#字符串查询s1='abc's2="a"+'b'+'c's3=''.join({'a','b','c'})s4=''.join(('a�......
  • Python
    循环结构根据条件或指定次数反复执行某个动作(语句)whilewhile条件: 满足条件执行的语句 break#终止循环else: 不满足条件执行的语句whileTrue: 语句段例:"""使用下列代码循环,直到录入"exit"后退出在控制台中获取一个季度,打印相应的月份输入与输出:春1月2月3月......
  • Python从入门到实战-Scrapy源码2-核心组件
    Scrapy核心组件本篇文章解决:Scrapy有哪些核心组件?以及它们主要负责了哪些工作?这些组件为了完成这些功能,内部又是如何实现的?爬虫类上次讲到Scrapy运行起来后,执行到最后到了Crawler的crawl方法,我们来看这个方法:@defer.inlineCallbacksdefcrawl(self,*args,**kwargs)......
  • # yyds干货盘点 # 系统提取的部分数据存在异常,Python填充有其他更简单的方法么?
    大家好,我是皮皮。一、前言前几天在Python最强王者群【wen】问了一个Python自动化办公的问题,一起来看看吧。请教问题:友信平台因为系统提取的部分数据存在异常,导出的数据经常缺失客户名,但是客户账号是准确的,如果实现客户名自动填充?解决思路:1单独生成客户账号和客户名的表格,两个表格进......
  • Python(Web时代)- 超简单:一行代码就能搭建网站
    From: https://mp.weixin.qq.com/s/x2dJshrAdev4FweK4kwCyA-----------------------------------------------------------------------------------介绍Streamlit是一款非常强大,可以实现快速创建和共享数据应用的Python库。借助他,我们可以在数分钟内构建出功能齐全的Web应用......