zoukankan      html  css  js  c++  java
  • pyinstaller打包的exe太大?你需要嵌入式python玄学 探索篇

    上篇我们讲到pip的安装以及普通库用pip的安装方法

    CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 拓展篇​zhuanlan.zhihu.com图标

    问题纷沓而至:Tk/Tcl不存在!!

    程序猿(媛):嗯···让(sha diao)用户用黑乎乎一片命令行工具似乎不太妥当

    还是界面来的方(wu)便(nao)!试一下tkinter!

    emmm???? 程序猿(媛)的表情是这样的:

    【请不要质疑我哪来的这么多汪星人的表情,我可是代码汪!】

    赶紧去查一下如何安装Tk&tcl

    emmmm这谁看的明白????

    看来还得自己上啊~

    首先我们要知道tkinter都牵扯到什么 然后对比完整版本的python 把文件都复制出来塞到python-embedded里(有点无脑&暴力 管他呢 有用就行)

    第一个牵扯当然就是本模块啦 复制出来一个tkinter

    位置:完整版python路径Lib kinter

    复制到:python-embeddedpython37.zip

    现在让我们试一下

    import tkinter

    [上班去了 回来继续更]

    [回来咯 等我扒两口饭!就回来继续写!]

    [一脸平静]我就知道会报错

    让我们打开他说的__init__.py看看36行写了啥

    这就是第36行 注释里写了什么呢?

    import _tkinter # If this fails your Python may not be configured for Tk

    什么意思?[还好我是英语专业的 让我不专业地给你们翻一下:)]

    他说呀 如果执行这一行出现了错误 那大概就是你的python版本是Tk没有授权过的

    有知友问了:Tk又是什么鬼玩意? :)请出门左转 摆渡.com

    算了。。。记住哈

    Tk是祖传下来的标准框架 tkinter是基于这个框架构建的(非专业解释勿喷)

    找到问题的来源那解决问题不就是立竿见影的事?

    -- import _tkinter 就是它有猫饼!

    怎么办? 找啊!

    别问从哪找 是哪个!就算你翻遍了完整版python环境 你也只会找到一个跟这玩意有关的:

    _tkinter.pyd

    又有知友会问:.pyd文件没见过呀 这是什么玩意?

    我想回答:你不需要知道它是什么 他管用就行

    但是··· 唉 算了 再伪科普一下吧

    .pyd是一种动态的库 实质上和.dll区别不大 这也就印证了上面对Tk的解释:“标准框架···”

    这些个都不重要 重要的是 需要把它复制出来 扔到python-embedded文件夹里

    既然都说到这了 那接下来有两个.dll文件也是如此 一起复制下来扔进去就好了 这里就不赘述了

    这三个文件分别是 _tkinter.pyd(上面提过)和 tcl86t.dll以及tk86t.dll

    他们仨都可以在完整版python文件夹下的DLLs文件夹里面找到

    接下来 Copy & Paste

    接下来就是tcl啦 这个很好找嘛

    就在完整版的python文件夹下你就会发现一个名为tcl的文件夹 复制粘贴就好

    实力diss这个移动速度 弟弟!

    现在让我们再试一下import tkinter!

    当tk界面弹出来的时候 我的心啊 真的是只有一个词可以形容:澎湃!

    让我们放声呐喊: 还有谁~!~!~!有谁~!~!谁~!

     

    这就完成对python-embedded的全部改造啦

  • 相关阅读:
    hdu_5855_Less Time, More profit(二分+最大权闭合图)
    hdu_5832_A water problem(模拟)
    poj_3261_Milk Patterns(后缀数组)
    [bzoj1072][SCOI2007]排列(状态压缩DP)
    [bzoj1597][USACO2008]土地购买(DP斜率优化/四边形优化)
    [bzoj1293][SCOI2009]生日礼物(单调队列)
    [bzoj 2463]谁能赢呢?(博弈论)
    矩阵快速幂优化递推总结
    [bzoj1563][NOI2009]诗人小G(决策单调性优化)
    [bzoj1821][JSOI2010]部落划分(贪心)
  • 原文地址:https://www.cnblogs.com/valorchang/p/11358692.html
Copyright © 2011-2022 走看看