问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为了小姐姐,你可能需要学会把Python打包成exe

发布网友 发布时间:2024-09-17 05:35

我来回答

1个回答

热心网友 时间:2024-11-14 06:11

Python在自动化办公中的应用越来越广泛,我们常常用它来编写自动化脚本,如批量处理文档、自动发送邮件等。

有一天,秦医生向我提出一个需求,希望我帮她写一个自动化处理生信数据的小脚本。

这个需求对我来说毫无难度,秦医生很快就把数据发给了我,我下午就完成了脚本,非常简单。

然而,没想到的是,第二天、第三天,秦医生又连续发来了新的数据。

面对这种情况,我决定...

结果:

就在这个时候,我突然想到,如果可以把Python脚本打包成exe,那不就可以了吗?即使她的电脑上没有Python环境,也能运行脚本。

一、安装pyinstaller

PS:可以使用pip安装,即直接在cmd中敲上pip install pyinstaller,但有时环境会在打包时提示不是可执行的命令,这时可以使用以下方法手动安装:

1.到官网pyinstaller.org/download下载pyinstaller的最新安装包。

2.解压下载的压缩文件,使用cd命令进入解压后的文件夹,运行python setup.py install,等待pyinstaller安装完成。

3.安装完成后,需要修改配置文件。在cmd中输入echo %PATH%,找到Python的路径(如果你是直接安装Python,请自行找到对应的路径,例如C:\Users\51582\Python\Python38-32)。

4.找到该路径下的Lib文件夹中的subprocess.py文件,将init()函数中的shell=True更改为shell=False。

二、打包程序:

1.首先编写好需要打包的脚本,这里我们编写一个测试脚本(新建一个txt文件,内容为‘1234’):

file = open('new.txt','w')

file.write('1234')

file.close()

print('Done')

2.在cmd中切换到需要打包脚本的目录,执行命令:pyinstaller -F test.py

注:为了保证程序可以正常运行,pyinstaller会自动打包脚本中需要的依赖包,因此脚本中依赖包比较多的话,需要耗时较长。

这里介绍几个常用命令:

-D, --onedir:最终创建一个目录,包含exe文件和依赖文件,默认选项;

-F, --onefile:最终创建一个exe文件,所有依赖文件都打包进了exe文件中,虽然exe文件会比较大,但是更方便日常使用;

-c, --console, --nowindowed:有控制台,即点击exe后会弹出命令行窗口,默认选项;

-w, --windowed, --noconsole:无控制台,即点击exe后不会弹出命令行窗口;

-p:一般不需要,但如果出现部分自己开发的代码引入的包,可以通过这个参数手动引入。

3.执行命令后,会生成多个文件夹,我们生成的exe程序就在dist文件夹里面。

4.双击exe文件,运行成功后可以看到文件夹中多了一个新的txt文件。

5.如果需要自定义图标,可以加上-i参数,把需要自定义的图标放到与脚本同一文件夹下即可,如我想添加的图标为1.ico,则执行命令:

pyinstaller -F -w -i 1.ico test.py

ps:图标仅支持.ico,其他格式的图片请进行转换,可以通过网站jinaconvert.com/cn/conv...

这样就生成了新的可执行文件了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
美的燃气热水器12升电脑版显示FR一pH一PL一dH一nE一qU怎么调好_百度知... 热水器ph什么意思 上海工程技术大学公共管理专业是什么学院 公共事业管理在暨南大学中属于哪个学院? 中央财经大学公共事业管理学生就业去向都有哪些 中飞院公共事业管理是什么专业 广西医科大学公共事业管理属于哪个学院 抖音怎么发视频@抖音小助手 发视频@抖音小助手操作一览 轻颜相机怎么取消自动续费 取消自动续费教程 轻颜相机vip怎么取消 Python代码转如何换为exe可执行程序详解 apply()和call()的区别 孟母断织教子原文及翻译(孟母断织) 翻译孟母三迁 layui select 默认选中 php服务器最小安装? Layui 选项卡Tabs动态生成关闭实现 html中在后台用什么方法获得前台 checkbox 的值,判断是否被选中 php数组 与 复选框的问题 php 我选中了该复选框,复选框name=id[],怎么获得这一行的商品id 比心是什么平台? html问题。link rel="stylesheet" href="mm_travel2.css" type="text/... html写网页,<link rel="stylesheet" href="/inc/login.css" type=... 微信群违规有什么阶段吗? 我在别人的群被封了!对自己的微信号!有什么影响吗? python注释符号是什 ...一个被选中时,立即触发一个效果,用js或者jquery应该如何实现_百度... Python中使用符号'#'表示单行注释 js判断复选框是否选中复选框? jquery 判断是否选中用is(":checked")这里为什么用:checked,这个冒号是... 如何让网站重定向?? 302重定向怎么解决(附302 重定向解析) url网页打开问题 记一次MySQL迁移并从MySQL5.6升级到5.7后查询慢了几十倍的问题_百度知... ELK构建MySQL慢日志收集平台详解 小孩最喜欢什么金典的句子 时间戳(python datetime) Python时间类型、时间戳、时间字符串相互转化 运用露珠和阳光鸟人写出家日的早晨200字小作文 作文写夏天、人、鸟、露珠 玻璃状肺结节严重吗 肺部玻璃结节是什么病严重吗 纯磨玻璃肺结节是什么意思 什么是肺部毛玻璃结节 河北农大一村一名大学生毕业证和普通统招大专一样吗?是全日制的吗?_百 ... 大专生当兵从村里名额和大专院校走待遇一样吗 微信视频号怎么设置不让别人看我的视频? 如何让微信好友看不到我的视频号动态 如何屏蔽别人在朋友圈发的视频号信息? 六个月宝宝如何戒奶睡