精易论坛

标题: 用 pyefun 易函数将任意python文件编译为exe [打印本页]

作者: 易函数    时间: 2021-7-10 12:27
标题: 用 pyefun 易函数将任意python文件编译为exe
本帖最后由 易函数 于 2021-7-10 12:34 编辑

用 pyefun 易函数将任意python文件编译为exe


视频讲解


https://www.bilibili.com/video/BV1Hh41167Yt/


易函数编译模块


在易函数视窗编程系统上可以直接一键编译为exe


如果您需要定制编译程序增加或者删除资源的话就往下看吧


你可以学会对任意一个py文件的编译功能


这是编译模块的代码 也是 易函数视窗编程系统所使用的编译功能模块源码


https://github.com/duolabmeng6/pyefun/blob/master/pyefun/compile/compile.py


编译exe


1.准备编译环境


为了保证编译脚本的正常运行


请安装好易函数视窗编程系统的安装 因为里面包含了编译所需要的文件


把文件解压到c盘即可


C:\efun_view_system

下载易函数视窗编程系统


百度网盘 https://pan.baidu.com/s/1Nccbrh23070PBCs7eAl4fA 提取码: p4qb



2.安装 pyefun


编译模块在pyefun中


pip install pyefun

如果已经安装 pyefun 升级模块运行


pip install -U pyefun

3.编写编译脚本


在前面的编译环境准备好以后编写编译文件即可


我们先看一下 易函数视窗编程系统的编译脚本长什么样子


import pyefun as efun
import pyefun.compile as compile

if compile.初始化编译环境():
    compile.编译文件(
        r"C:\pyefun\wxview\wxefun_window.py",
        r"C:\pyefun\wxview\o",
        # 不编译=True,
        # 不寻找依赖=True,
    )
    efun.文件更名(r"C:\pyefun\wxview\o\wxefun_window.dist", r"C:\pyefun\wxview\o\efun_view_system")
    efun.复制目录(
        efun.路径优化(r"C:\pyefun\wxview\bulidLib"),
        efun.路径优化(r"C:\pyefun\wxview\o\efun_view_system\bulidLib")
    )

根据上述示例我们编译自己的编译脚本


编写文件 编译脚本.py


例如我们要编译


C:\project\main.py


并且包含 images 图片资源的文件夹 是我们自定义的资源文件夹 需要打包到应用目录中


易函数中默认的资源文件夹是 resources 编译文件目录下会被自动复制到应用目录中


我们只编写以下脚本


编译脚本.py


import pyefun as efun
import pyefun.compile as compile

if compile.初始化编译环境():
    compile.编译文件(
        文件路径=r"C:\project\main.py",
        编译目录=r"C:\project\o",
        # 不编译=True,
        # 不寻找依赖=True,
    )

    # 先删除原来的目录再改名
    efun.删除目录("C:\project\o\mysoft")
    # 修改编译后的文件目录名称
    efun.文件更名(r"C:\project\o\main.dist", r"C:\project\o\mysoft")
    # 将编译后运行所需要的资源复制到编译后的目录
    efun.复制目录(
        efun.路径优化(r"C:\project\images"),
        efun.路径优化(r"C:\project\o\mysoft\images")
    )

运行编译脚本


python 编译脚本.py


等待编译完成


经过一段时间的等待

如果没有出现任何错误的情况下就正常的编译好了



使用易函数一键编译任意python脚本工具


工具下载


百度网盘 https://pan.baidu.com/s/1Nccbrh23070PBCs7eAl4fA提取码: p4qb




用易函数视窗编程系统开发一键编译任意python脚本工具


用易函数视窗编程系统开发一键编译任意python脚本工具





作者: woaizhuanqian    时间: 2021-7-10 12:49
支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持支持
作者: 撒加    时间: 2021-7-10 13:30
这个有用
作者: xyts022618    时间: 2021-12-17 21:04
编译的EXE是二进制么?还是和pyinstaller一样是带解释器
作者: 阿龙    时间: 2022-1-20 13:18
xyts022618 发表于 2021-12-17 21:04
编译的EXE是二进制么?还是和pyinstaller一样是带解释器

看大小把,玩会游戏,一会试试,带解释器肯定小不了。
作者: 阿龙    时间: 2022-1-20 13:21
xyts022618 发表于 2021-12-17 21:04
编译的EXE是二进制么?还是和pyinstaller一样是带解释器

好像不行,一个文件好几兆。
作者: なす随风ぬね    时间: 2022-1-20 17:57
可不可以做一个教程呢
作者: longshizhuan    时间: 2022-2-7 16:05
2022-02-07 16:03:48 FATAL: Only this specific gcc is supported with Nuitka.
2022-02-07 16:03:49 编译完成 nuitka --standalone --mingw64 --show-memory --show-progress --nofollow-imports --follow-import-to=need --output-dir=C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\o C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\main.py
2022-02-07 16:03:49 复制资源文件夹C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\resources -> C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\o\main.dist\resources
2022-02-07 16:03:49 C:\efun_view_system\resources\cmdrt.exe C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\o\main.dist\main.exe
2022-02-07 16:03:49 缺少模块
2022-02-07 16:03:49 缺少模块
2022-02-07 16:03:49 运行结果

2022-02-07 16:03:49 编译完成请检查程序是否运行正常 C:\Users\Administrator.PC-20210402BUPB\PycharmProjects\pythonProject\o\main.dist\main.exe



编译好后,找不到main.exe




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4