美文网首页
将python脚本转为.exe文件

将python脚本转为.exe文件

作者: 今天也是努力的小张 | 来源:发表于2021-06-08 15:13 被阅读0次

1. 下载pyinstaller

pip install pyinstaller

2. 将脚本转为.exe文件

打开命令提示符,cd到需要转换的python脚本目录
pyinstaller -F <file_name.py>:将脚本打包成一个.exe文件
或者
pyinstaller <file_name.py>:将脚本打包成disk目录下的很多文件

3. 找到转换后的.exe文件

在当前目录下找到disk目录,该目录下有一个同名的.exe文件


disk目录

4. 在命令提示符执行该.exe文件

报错
报错信息:

INTEL MKL ERROR: 找不到指定的模块。 mkl_intel_thread.1.dll.
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.1.dll.

在我的anaconda虚拟环境找到了这个模块:
image.png

但是执行一直加载不到这个模块

解决方案:

试了很多方式,最终成功的办法:将‘mkl_intel_thread.1.dll.’和‘libiomp5md.pdb’放在了要执行的脚本的目录下。在命令提示符可以执行。

tips: 如果项目的解释器是anaconda环境,建议进入该anaconda环境后执行pyinstaller命令。避免全局下缺少相应的包。

5. 将该脚本设置成定时计划任务,定时执行。

打开【控制面板】——选择【大图标】——点击【管理工具】,
选择【任务计划程序】,
新建任务


点击创建任务
常规
触发器
操作
设置
确定

!坑:我的脚本会生成文件,刚开始用的相对路径,执行定时计划任务不知道文件新建到哪了。任务执行结果显示是成功的,但是不是我想要的。后来改成绝对路径,成功。

==========================快乐分水===========================
绝绝子,怎么我也没想到,在我电脑运行好好的,在别的电脑就不行,没有报错信息。尝试好多办法都不行。气得我。


报错截图
事件查看器报错截图

解决了:
我本身使用的是anaconda环境,python3.7,在网上搜到一篇文章说可能不支持python3.7,所以我重新创建了一个python3.6的环境。emmmmmm,就可以了。
但是我怕生成一个.exe文件兼容性不好(网上说),我使用了pyinstaller -p {python3.6conda环境的site-packages目录路径} -D XXX.py生成的是一大堆的文件。
一个小插曲:
上面写的定时计划任务在这次这个又不好使了,不发邮件,运行结果好像是0x0FFFFFFFFFFF,解决的话,就是在操作【起始于】那里添加了可执行文件所在的路径。

image.png

相关文章

网友评论

      本文标题:将python脚本转为.exe文件

      本文链接:https://www.haomeiwen.com/subject/rzadeltx.html