西西软件园多重安全检测下载网站、值得信赖的软件下载站!
西西首页 电脑软件 安卓软件 电脑游戏 安卓游戏 排行榜 专题合集

易函数视窗编程系统(一键编译任意python脚本)

  • 易函数视窗编程系统(一键编译任意python脚本)
  • 软件大小:450M
  • 更新时间:2021-07-16 16:08
  • 软件语言:中文
  • 软件厂商:
  • 软件类别:国产软件 / 免费软件 / 编程工具
  • 软件等级:3级
  • 应用平台:WinXP, Win7, win8
  • 官方网站:暂无
  • 应用备案:
好评:50%
坏评:50%

软件介绍

易函数视窗编程系统(一键编译任意python脚本),由精易论坛制作开发的一个Python编程工具,功能强大,可以轻松编辑任意Python脚本,编写环境更加亲和,下面给出易函数视窗编程系统的详细安装教程以及下载资源链接,欢迎经常编写Python程序的朋友们下载体验。

易函数视窗编程系统(一键编译任意python脚本)

运行环境

window系统 或 mac os系统

python 3.7 及以上 anaconda 集成环境

代码开发工具 Pycharm

Pycharm 中文提示插件

安装步骤

1. 安装 python anaconda 集成环境

到 anaconda 下载 python 运行环境 最新版

我建议是安装 3.7 的版本

2. 安装 pycharm

下载社区版是免费的

https://www.jetbrains.com/pycharm/

点击下载社区版pycharm

3. 安装 pycharm 插件 中文提示插件 以及 pycharm中文界面汉化包

搜索在插件中搜索 chinese 安装两个插件

4. 配置pip镜像加速

在windows环境下修改pip镜像源的方法

1.在windows文件管理器中,输入**%APPDATA%**

2.在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件

在新建的pip.ini文件中输入以下内容,文件路径

C:\Users\Administrator\AppData\Roaming\pip\pip.ini

[global]

index-url=http://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host=mirrors.aliyun.com

5. 安装 易函数 pyefun

第一次安装易函数时使用

pip install pyefun -i https://mirrors.aliyun.com/pypi/simple/

升级易函数时使用

pip install -U pyefun

6. 使用 pyefun 易函数

from pyefun import *

提示: 如果你的程序是需要打包编译为exe的必须使用import pyefun as efun 而不能是import *

打包使用 Nuitka python打包工具使用教程

7. 安装 易函数视窗编程系统

视频教程 bilibili 易函数视窗编程系统安装及使用教程

易函数视窗编程系统(一键编译任意python脚本)

编写功能代码

import pyefun.wxefun as wx

import pyefun as efun

import pyefun.compile as compile

import webbrowser

 

class FileDrop(wx.FileDropTarget):

    def __init__(self):

        wx.FileDropTarget.__init__(self)

 

    def OnDropFiles(self, x, y, filePath):

        文件路径 = filePath[0]

        G.app.窗口1.选择编译文件路径(文件路径)

        return True

 

compile.隐藏控制台窗口()

 

class 窗口1(wx.窗口):

    def __init__(self):

        self.初始化界面()

 

    def 初始化界面(self):

        #########以下是创建的组件代码#########

        wx.窗口.__init__(self, None, title='易函数一键编译任意python脚本工具 易函数代码仓库:https://gitee.com/duolabmeng666/pyefun', size=(732, 450), name='frame', style=541072449)

        self.容器 = wx.容器(self)

        self.Centre()

        self.窗口1 = self

 

        self.窗口1.播放次数 = wx.播放次数.循环播放

        self.窗口1.位置 = wx.窗口位置.通常

        self.标签1 = wx.标签(self.容器, size=(151, 32), pos=(6, 13), label='欲编译的python文件路径', style=2321)

        self.编辑框_文件路径 = wx.编辑框(self.容器, size=(459, 32), pos=(162, 6), value='', style=0)

        self.编辑框_文件路径.最大允许长度 = 0

        self.按钮_选择python文件 = wx.按钮(self.容器, size=(67, 32), pos=(637, 7), label='选择')

        self.按钮_选择python文件.绑定事件(wx.事件.被单击, self.按钮_选择python文件_被单击)

        self.编辑框_日志框 = wx.编辑框(self.容器, size=(700, 180), pos=(6, 226), value='', style=1073741856)

        self.编辑框_日志框.最大允许长度 = 0

        self.编辑框_可执行文件路径 = wx.编辑框(self.容器, size=(459, 32), pos=(162, 88), value='', style=0)

        self.编辑框_可执行文件路径.最大允许长度 = 0

        self.按钮_选课可执行文件 = wx.按钮(self.容器, size=(67, 32), pos=(637, 87), label='选择')

        self.按钮_选课可执行文件.绑定事件(wx.事件.被单击, self.按钮_选课可执行文件_被单击)

        self.按钮_打开应用目录 = wx.按钮(self.容器, size=(140, 28), pos=(6, 46), label='打开编译目录')

        self.按钮_打开应用目录.绑定事件(wx.事件.被单击, self.按钮_打开应用目录_被单击)

        self.组合框1 = wx.组合框(self.容器, value='', pos=(7, 140), choices=[], style=wx.CB_READONLY)

        self.组合框1.SetSize((140, 25))

        self.组合框1.置列表项目(['mingw64编译器', 'mingw32编译器'])

        self.按钮_执行查找依赖 = wx.按钮(self.容器, size=(140, 28), pos=(6, 90), label='执行查找依赖')

        self.按钮_执行查找依赖.绑定事件(wx.事件.被单击, self.按钮_执行查找依赖_被单击)

        self.选择框_编译 = wx.选择框(self.容器, size=(140, 30), pos=(162, 140), label='编译', style=wx.CHK_2STATE)

        self.选择框_自动查找依赖 = wx.选择框(self.容器, size=(140, 30), pos=(363, 140), label='自动查找依赖', style=wx.CHK_2STATE)

        self.按钮_写出编译脚本 = wx.按钮(self.容器, size=(140, 28), pos=(564, 183), label='写出编译脚本')

        self.按钮_写出编译脚本.绑定事件(wx.事件.被单击, self.按钮_写出编译脚本_被单击)

        self.编辑框_编译目录 = wx.编辑框(self.容器, size=(459, 32), pos=(162, 47), value='', style=0)

        self.编辑框_编译目录.最大允许长度 = 0

        self.按钮7 = wx.按钮(self.容器, size=(67, 32), pos=(637, 48), label='选择')

        self.按钮7.绑定事件(wx.事件.被单击, self.按钮_选择编译目录_被单击)

        self.按钮_自动检查编译环境 = wx.按钮(self.容器, size=(140, 28), pos=(6, 183), label='自动检查编译环境')

        self.按钮_自动检查编译环境.绑定事件(wx.事件.被单击, self.按钮_查看环境_被单击)

        self.按钮_开始编译 = wx.按钮(self.容器, size=(140, 28), pos=(564, 140), label='开始执行')

        self.按钮_开始编译.绑定事件(wx.事件.被单击, self.按钮_开始编译_被单击)

        self.标签2 = wx.标签(self.容器, size=(171, 19), pos=(162, 188), label='如需帮助请看易函数的帮助文档', style=2321)

        self.标签2.字体 = wx.Font(9, 74, 90, 400, True, 'Microsoft YaHei UI', 28)

        self.标签2.绑定事件(wx.事件.鼠标左键被按下, self.标签2_鼠标左键被按下)

        self.标签3 = wx.标签(self.容器, size=(176, 19), pos=(359, 188), label='提问请到易函数的github或码云', style=2321)

        self.标签3.字体 = wx.Font(9, 74, 90, 400, True, 'Microsoft YaHei UI', 28)

        self.标签3.绑定事件(wx.事件.鼠标左键被按下, self.标签3_鼠标左键被按下)

#########以上是创建的组件代码##########

        self.组合框1.置选中项(0)

        self.选择框_编译.置选中状态(True)

        self.选择框_自动查找依赖.置选中状态(True)

        # 注册拖放文件对象

        self.fileDrop = FileDrop()

        self.SetDropTarget(self.fileDrop)

 

    #########以下是组件绑定的事件代码#########

 

    def 按钮_选择python文件_被单击(self, event):

        print("按钮_选择python文件_被单击")

        文件路径 = wx.组件_文件选择器()

        self.选择编译文件路径(文件路径)

 

    def 选择编译文件路径(self, 文件路径):

        self.编辑框_文件路径.内容 = 文件路径

        编译目录 = efun.路径优化(efun.文件_取目录(文件路径) + r"/o")

        self.编辑框_编译目录.内容 = 编译目录

 

        文件名 = efun.strCut(efun.文件_取文件名(文件路径), "$.")

        文件运行路径 = efun.路径优化(r"{1}\{0}.dist\{0}.exe".format(文件名, 编译目录))

        self.编辑框_可执行文件路径.内容 = 文件运行路径

 

    def 按钮_选择编译目录_被单击(self, event):

        print("按钮_选择编译目录_被单击")

        文件路径 = wx.组件_目录选择器()

        self.编辑框_编译目录.内容 = 文件路径

 

    def 按钮_查看环境_被单击(self, event):

        self.选择编译器()

        print("按钮_查看环境_被单击")

        if compile.初始化编译环境():

            输入到日志窗口("编译器准备完毕")

        else:

            输入到日志窗口("自动准备编译器失败了 请配置好 python环境")

        list = [

            "运行目录 " + efun.取运行目录(),

            "gcc版本 " + compile.取gcc版本(),

            "nuitka版本 " + compile.取nuitka版本(),

            "python版本 " + compile.取python版本(),

            "python路径 " + compile.取python执行路径(),

            "python包路径 " + compile.取pythonSitePackages目录(),

        ]

        print(list)

        wx.MessageBox("\n".join(list))

 

    def 按钮_打开应用目录_被单击(self, event):

        print("按钮_打开应用目录_被单击")

        compile.运行命令("explorer.exe " + self.编辑框_编译目录.内容)

 

    def 选择编译器(self):

        item = self.组合框1.取选中项文本()

        if item == "mingw64编译器":

            pass

            编译器目录 = efun.路径优化(efun.取运行目录() + "/bulidLib/mingw64/bin")

            if not efun.文件是否存在(编译器目录):

                编译器目录 = ""

        if item == "mingw32编译器":

            pass

            编译器目录 = efun.路径优化(efun.取运行目录() + "/bulidLib/mingw32/bin")

            if not efun.文件是否存在(编译器目录):

                编译器目录 = ""

 

        if 编译器目录 != "":

            compile.编译器配置.默认编译器路径 = 编译器目录

 

    def 按钮_开始编译_被单击(self, event):

        if self.编辑框_文件路径.内容 == "":

            return

        if self.编辑框_编译目录.内容 == "":

            return

 

        文件路径 = self.编辑框_文件路径.内容

        编译目录 = self.编辑框_编译目录.内容

        文件目录 = efun.路径优化(efun.文件_取目录(文件路径))

        文件名 = efun.strCut(efun.文件_取文件名(文件路径), "$.")

        if 编译目录 == "":

            编译目录 = efun.路径优化(efun.文件_取目录(文件路径) + r"/o")

        文件运行路径 = efun.路径优化(r"{1}\{0}.dist\{0}.exe".format(文件名, 编译目录))

 

        self.编辑框_可执行文件路径.内容 = 文件运行路径

 

        self.选择编译器()

 

        print("按钮_开始编译_被单击")

        if compile.初始化编译环境():

            输入到日志窗口("编译器准备完毕")

            输入到日志窗口("开始编译")

            不编译 = self.选择框_编译.是否选中() == False

            不寻找依赖 = self.选择框_自动查找依赖.是否选中() == False

 

            compile.编译文件(

                self.编辑框_文件路径.内容,

                编译目录=self.编辑框_编译目录.内容,

                编译器目录="",

                不编译=不编译,

                不寻找依赖=不寻找依赖

            )

 

        else:

            输入到日志窗口("自动准备编译器失败了 请配置好 python环境")

 

    def 按钮_执行查找依赖_被单击(self, event):

        print("按钮_执行查找依赖_被单击")

        文件运行路径 = self.编辑框_可执行文件路径.内容

        文件运行目录 = efun.文件_取目录(文件运行路径)

        while compile.自动处理依赖缺失问题(文件运行路径, 文件运行目录):

            pass

 

    def 按钮_选课可执行文件_被单击(self, event):

        print("按钮_选课可执行文件_被单击")

        文件路径 = wx.组件_文件选择器()

        self.编辑框_可执行文件路径.内容 = 文件路径

 

    def 按钮_写出编译脚本_被单击(self, event):

        print("按钮_写出编译脚本_被单击")

        模板文件 = "" + efun.读入文本(efun.路径优化(efun.取运行目录() + "/resources/scriptTpl.py"))

 

        模板文件 = efun.子文本替换(模板文件, r'{{文件路径}}', self.编辑框_文件路径.内容)

        模板文件 = efun.子文本替换(模板文件, r'{{编译目录}}', self.编辑框_编译目录.内容)

 

        文件名 = efun.文件_取文件名(self.编辑框_文件路径.内容, False)

        目录 = efun.文件_取目录(self.编辑框_文件路径.内容)

        编译文件路径 = efun.路径优化(目录 + "/编译脚本_{}.py".format(文件名))

        if not efun.文件是否存在(编译文件路径):

            efun.写到文件(编译文件路径, 模板文件)

            输入到日志窗口("编译脚本写出到 {}".format(编译文件路径))

        else:

            输入到日志窗口("编译文件已存在 {} 请删除后再生成".format(编译文件路径))

 

    def 标签2_鼠标左键被按下(self, event):

        print("标签2_鼠标左键被按下")

        webbrowser.open('https://www.kancloud.cn/duolabmeng/pyefundoc/content')

 

    def 标签3_鼠标左键被按下(self, event):

        print("标签3_鼠标左键被按下")

        webbrowser.open('https://gitee.com/duolabmeng666/pyefun')

 

    #########以上是组件绑定的事件代码#########

 

class 应用(wx.App):

    def OnInit(self):

        self.窗口1 = 窗口1()

        self.窗口1.Show(True)

        return True

 

class 全局变量:

    app = None

    isinstance(app, 应用)

 

G = 全局变量

 

def 输入到日志窗口(text):

    pass

    # print(text)

    if (efun.取文本长度(G.app.窗口1.编辑框_日志框.内容) > 10000):

        G.app.窗口1.编辑框_日志框.内容 = ""

    G.app.窗口1.编辑框_日志框.write(efun.取现行时间().到文本() + " " + text + "\n")

    wx.GetApp().Yield()

 

compile.日志.设置日志回调函数(输入到日志窗口)

 

if __name__ == '__main__':

    G.app = 应用()

    G.app.MainLoop()

软件截图

易函数视窗编程系统(一键编译任意python脚本)

其他版本下载

最新评论查看所有(1)条评论 >

第 1 楼 广东深圳沙西小学 网友 客人 发表于: 2021/7/16 17:54:32
这个好像只有编译功能,可以把现成的脚本文件编译成程序

支持( 0 ) 盖楼(回复)

发表评论

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
TOP
软件下载