西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

易函數(shù)視窗編程系統(tǒng)(一鍵編譯任意python腳本)

  • 易函數(shù)視窗編程系統(tǒng)(一鍵編譯任意python腳本)
  • 軟件大小:450M
  • 更新時(shí)間:2021-07-16 16:08
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費(fèi)軟件 / 編程工具
  • 軟件等級(jí):3級(jí)
  • 應(yīng)用平臺(tái):WinXP, Win7, win8
  • 官方網(wǎng)站:暫無
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

易函數(shù)視窗編程系統(tǒng)(一鍵編譯任意python腳本),由精易論壇制作開發(fā)的一個(gè)Python編程工具,功能強(qiáng)大,可以輕松編輯任意Python腳本,編寫環(huán)境更加親和,下面給出易函數(shù)視窗編程系統(tǒng)的詳細(xì)安裝教程以及下載資源鏈接,歡迎經(jīng)常編寫Python程序的朋友們下載體驗(yàn)。

易函數(shù)視窗編程系統(tǒng)(一鍵編譯任意python腳本)

運(yùn)行環(huán)境

window系統(tǒng) 或 mac os系統(tǒng)

python 3.7 及以上 anaconda 集成環(huán)境

代碼開發(fā)工具 Pycharm

Pycharm 中文提示插件

安裝步驟

1. 安裝 python anaconda 集成環(huán)境

到 anaconda 下載 python 運(yùn)行環(huán)境 最新版

我建議是安裝 3.7 的版本

2. 安裝 pycharm

下載社區(qū)版是免費(fèi)的

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

點(diǎn)擊下載社區(qū)版pycharm

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

搜索在插件中搜索 chinese 安裝兩個(gè)插件

4. 配置pip鏡像加速

在windows環(huán)境下修改pip鏡像源的方法

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

2.在該目錄下新建pip文件夾,然后到pip文件夾里面去新建個(gè)pip.ini文件

在新建的pip.ini文件中輸入以下內(nèi)容,文件路徑

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

[global]

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

[install]

trusted-host=mirrors.aliyun.com

5. 安裝 易函數(shù) pyefun

第一次安裝易函數(shù)時(shí)使用

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

升級(jí)易函數(shù)時(shí)使用

pip install -U pyefun

6. 使用 pyefun 易函數(shù)

from pyefun import *

提示: 如果你的程序是需要打包編譯為exe的必須使用import pyefun as efun 而不能是import *

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

7. 安裝 易函數(shù)視窗編程系統(tǒng)

視頻教程 bilibili 易函數(shù)視窗編程系統(tǒng)安裝及使用教程

易函數(shù)視窗編程系統(tǒng)(一鍵編譯任意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.隱藏控制臺(tái)窗口()

 

class 窗口1(wx.窗口):

    def __init__(self):

        self.初始化界面()

 

    def 初始化界面(self):

        #########以下是創(chuàng)建的組件代碼#########

        wx.窗口.__init__(self, None, title='易函數(shù)一鍵編譯任意python腳本工具 易函數(shù)代碼倉庫:https://gitee.com/duolabmeng666/pyefun', size=(732, 450), name='frame', style=541072449)

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

        self.Centre()

        self.窗口1 = self

 

        self.窗口1.播放次數(shù) = wx.播放次數(shù).循環(huán)播放

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

        self.標(biāo)簽1 = wx.標(biāo)簽(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.編輯框_可執(zhí)行文件路徑 = wx.編輯框(self.容器, size=(459, 32), pos=(162, 88), value='', style=0)

        self.編輯框_可執(zhí)行文件路徑.最大允許長度 = 0

        self.按鈕_選課可執(zhí)行文件 = wx.按鈕(self.容器, size=(67, 32), pos=(637, 87), label='選擇')

        self.按鈕_選課可執(zhí)行文件.綁定事件(wx.事件.被單擊, self.按鈕_選課可執(zhí)行文件_被單擊)

        self.按鈕_打開應(yīng)用目錄 = wx.按鈕(self.容器, size=(140, 28), pos=(6, 46), label='打開編譯目錄')

        self.按鈕_打開應(yīng)用目錄.綁定事件(wx.事件.被單擊, self.按鈕_打開應(yīng)用目錄_被單擊)

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

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

        self.組合框1.置列表項(xiàng)目(['mingw64編譯器', 'mingw32編譯器'])

        self.按鈕_執(zhí)行查找依賴 = wx.按鈕(self.容器, size=(140, 28), pos=(6, 90), label='執(zhí)行查找依賴')

        self.按鈕_執(zhí)行查找依賴.綁定事件(wx.事件.被單擊, self.按鈕_執(zhí)行查找依賴_被單擊)

        self.選擇框_編譯 = wx.選擇框(self.容器, size=(140, 30), pos=(162, 140), label='編譯', style=wx.CHK_2STATE)

        self.選擇框_自動(dòng)查找依賴 = wx.選擇框(self.容器, size=(140, 30), pos=(363, 140), label='自動(dòng)查找依賴', 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.按鈕_自動(dòng)檢查編譯環(huán)境 = wx.按鈕(self.容器, size=(140, 28), pos=(6, 183), label='自動(dòng)檢查編譯環(huán)境')

        self.按鈕_自動(dòng)檢查編譯環(huán)境.綁定事件(wx.事件.被單擊, self.按鈕_查看環(huán)境_被單擊)

        self.按鈕_開始編譯 = wx.按鈕(self.容器, size=(140, 28), pos=(564, 140), label='開始執(zhí)行')

        self.按鈕_開始編譯.綁定事件(wx.事件.被單擊, self.按鈕_開始編譯_被單擊)

        self.標(biāo)簽2 = wx.標(biāo)簽(self.容器, size=(171, 19), pos=(162, 188), label='如需幫助請(qǐng)看易函數(shù)的幫助文檔', style=2321)

        self.標(biāo)簽2.字體 = wx.Font(9, 74, 90, 400, True, 'Microsoft YaHei UI', 28)

        self.標(biāo)簽2.綁定事件(wx.事件.鼠標(biāo)左鍵被按下, self.標(biāo)簽2_鼠標(biāo)左鍵被按下)

        self.標(biāo)簽3 = wx.標(biāo)簽(self.容器, size=(176, 19), pos=(359, 188), label='提問請(qǐng)到易函數(shù)的github或碼云', style=2321)

        self.標(biāo)簽3.字體 = wx.Font(9, 74, 90, 400, True, 'Microsoft YaHei UI', 28)

        self.標(biāo)簽3.綁定事件(wx.事件.鼠標(biāo)左鍵被按下, self.標(biāo)簽3_鼠標(biāo)左鍵被按下)

#########以上是創(chuàng)建的組件代碼##########

        self.組合框1.置選中項(xiàng)(0)

        self.選擇框_編譯.置選中狀態(tài)(True)

        self.選擇框_自動(dòng)查找依賴.置選中狀態(tài)(True)

        # 注冊(cè)拖放文件對(duì)象

        self.fileDrop = FileDrop()

        self.SetDropTarget(self.fileDrop)

 

    #########以下是組件綁定的事件代碼#########

 

    def 按鈕_選擇python文件_被單擊(self, event):

        print("按鈕_選擇python文件_被單擊")

        文件路徑 = wx.組件_文件選擇器()

        self.選擇編譯文件路徑(文件路徑)

 

    def 選擇編譯文件路徑(self, 文件路徑):

        self.編輯框_文件路徑.內(nèi)容 = 文件路徑

        編譯目錄 = efun.路徑優(yōu)化(efun.文件_取目錄(文件路徑) + r"/o")

        self.編輯框_編譯目錄.內(nèi)容 = 編譯目錄

 

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

        文件運(yùn)行路徑 = efun.路徑優(yōu)化(r"{1}\{0}.dist\{0}.exe".format(文件名, 編譯目錄))

        self.編輯框_可執(zhí)行文件路徑.內(nèi)容 = 文件運(yùn)行路徑

 

    def 按鈕_選擇編譯目錄_被單擊(self, event):

        print("按鈕_選擇編譯目錄_被單擊")

        文件路徑 = wx.組件_目錄選擇器()

        self.編輯框_編譯目錄.內(nèi)容 = 文件路徑

 

    def 按鈕_查看環(huán)境_被單擊(self, event):

        self.選擇編譯器()

        print("按鈕_查看環(huán)境_被單擊")

        if compile.初始化編譯環(huán)境():

            輸入到日志窗口("編譯器準(zhǔn)備完畢")

        else:

            輸入到日志窗口("自動(dòng)準(zhǔn)備編譯器失敗了 請(qǐng)配置好 python環(huán)境")

        list = [

            "運(yùn)行目錄 " + efun.取運(yùn)行目錄(),

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

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

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

            "python路徑 " + compile.取python執(zhí)行路徑(),

            "python包路徑 " + compile.取pythonSitePackages目錄(),

        ]

        print(list)

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

 

    def 按鈕_打開應(yīng)用目錄_被單擊(self, event):

        print("按鈕_打開應(yīng)用目錄_被單擊")

        compile.運(yùn)行命令("explorer.exe " + self.編輯框_編譯目錄.內(nèi)容)

 

    def 選擇編譯器(self):

        item = self.組合框1.取選中項(xiàng)文本()

        if item == "mingw64編譯器":

            pass

            編譯器目錄 = efun.路徑優(yōu)化(efun.取運(yùn)行目錄() + "/bulidLib/mingw64/bin")

            if not efun.文件是否存在(編譯器目錄):

                編譯器目錄 = ""

        if item == "mingw32編譯器":

            pass

            編譯器目錄 = efun.路徑優(yōu)化(efun.取運(yùn)行目錄() + "/bulidLib/mingw32/bin")

            if not efun.文件是否存在(編譯器目錄):

                編譯器目錄 = ""

 

        if 編譯器目錄 != "":

            compile.編譯器配置.默認(rèn)編譯器路徑 = 編譯器目錄

 

    def 按鈕_開始編譯_被單擊(self, event):

        if self.編輯框_文件路徑.內(nèi)容 == "":

            return

        if self.編輯框_編譯目錄.內(nèi)容 == "":

            return

 

        文件路徑 = self.編輯框_文件路徑.內(nèi)容

        編譯目錄 = self.編輯框_編譯目錄.內(nèi)容

        文件目錄 = efun.路徑優(yōu)化(efun.文件_取目錄(文件路徑))

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

        if 編譯目錄 == "":

            編譯目錄 = efun.路徑優(yōu)化(efun.文件_取目錄(文件路徑) + r"/o")

        文件運(yùn)行路徑 = efun.路徑優(yōu)化(r"{1}\{0}.dist\{0}.exe".format(文件名, 編譯目錄))

 

        self.編輯框_可執(zhí)行文件路徑.內(nèi)容 = 文件運(yùn)行路徑

 

        self.選擇編譯器()

 

        print("按鈕_開始編譯_被單擊")

        if compile.初始化編譯環(huán)境():

            輸入到日志窗口("編譯器準(zhǔn)備完畢")

            輸入到日志窗口("開始編譯")

            不編譯 = self.選擇框_編譯.是否選中() == False

            不尋找依賴 = self.選擇框_自動(dòng)查找依賴.是否選中() == False

 

            compile.編譯文件(

                self.編輯框_文件路徑.內(nèi)容,

                編譯目錄=self.編輯框_編譯目錄.內(nèi)容,

                編譯器目錄="",

                不編譯=不編譯,

                不尋找依賴=不尋找依賴

            )

 

        else:

            輸入到日志窗口("自動(dòng)準(zhǔn)備編譯器失敗了 請(qǐng)配置好 python環(huán)境")

 

    def 按鈕_執(zhí)行查找依賴_被單擊(self, event):

        print("按鈕_執(zhí)行查找依賴_被單擊")

        文件運(yùn)行路徑 = self.編輯框_可執(zhí)行文件路徑.內(nèi)容

        文件運(yùn)行目錄 = efun.文件_取目錄(文件運(yùn)行路徑)

        while compile.自動(dòng)處理依賴缺失問題(文件運(yùn)行路徑, 文件運(yùn)行目錄):

            pass

 

    def 按鈕_選課可執(zhí)行文件_被單擊(self, event):

        print("按鈕_選課可執(zhí)行文件_被單擊")

        文件路徑 = wx.組件_文件選擇器()

        self.編輯框_可執(zhí)行文件路徑.內(nèi)容 = 文件路徑

 

    def 按鈕_寫出編譯腳本_被單擊(self, event):

        print("按鈕_寫出編譯腳本_被單擊")

        模板文件 = "" + efun.讀入文本(efun.路徑優(yōu)化(efun.取運(yùn)行目錄() + "/resources/scriptTpl.py"))

 

        模板文件 = efun.子文本替換(模板文件, r'{{文件路徑}}', self.編輯框_文件路徑.內(nèi)容)

        模板文件 = efun.子文本替換(模板文件, r'{{編譯目錄}}', self.編輯框_編譯目錄.內(nèi)容)

 

        文件名 = efun.文件_取文件名(self.編輯框_文件路徑.內(nèi)容, False)

        目錄 = efun.文件_取目錄(self.編輯框_文件路徑.內(nèi)容)

        編譯文件路徑 = efun.路徑優(yōu)化(目錄 + "/編譯腳本_{}.py".format(文件名))

        if not efun.文件是否存在(編譯文件路徑):

            efun.寫到文件(編譯文件路徑, 模板文件)

            輸入到日志窗口("編譯腳本寫出到 {}".format(編譯文件路徑))

        else:

            輸入到日志窗口("編譯文件已存在 {} 請(qǐng)刪除后再生成".format(編譯文件路徑))

 

    def 標(biāo)簽2_鼠標(biāo)左鍵被按下(self, event):

        print("標(biāo)簽2_鼠標(biāo)左鍵被按下")

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

 

    def 標(biāo)簽3_鼠標(biāo)左鍵被按下(self, event):

        print("標(biāo)簽3_鼠標(biāo)左鍵被按下")

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

 

    #########以上是組件綁定的事件代碼#########

 

class 應(yīng)用(wx.App):

    def OnInit(self):

        self.窗口1 = 窗口1()

        self.窗口1.Show(True)

        return True

 

class 全局變量:

    app = None

    isinstance(app, 應(yīng)用)

 

G = 全局變量

 

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

    pass

    # print(text)

    if (efun.取文本長度(G.app.窗口1.編輯框_日志框.內(nèi)容) > 10000):

        G.app.窗口1.編輯框_日志框.內(nèi)容 = ""

    G.app.窗口1.編輯框_日志框.write(efun.取現(xiàn)行時(shí)間().到文本() + " " + text + "\n")

    wx.GetApp().Yield()

 

compile.日志.設(shè)置日志回調(diào)函數(shù)(輸入到日志窗口)

 

if __name__ == '__main__':

    G.app = 應(yīng)用()

    G.app.MainLoop()

軟件標(biāo)簽: 易函數(shù) 編程 Python

其他版本下載

最新評(píng)論查看所有(1)條評(píng)論 >

第 1 樓 廣東深圳沙西小學(xué) 網(wǎng)友 客人 2021/7/16 17:54:32
這個(gè)好像只有編譯功能,可以把現(xiàn)成的腳本文件編譯成程序

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(1)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載