上篇我们讲到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\tkinter

复制到:python-embedded\python37.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的全部改造啦

pyinstaller打包的exe太大?你需要嵌入式python玄学 探索篇的更多相关文章

  1. pyinstaller打包的exe太大?你需要嵌入式python玄学 拓展篇

    上篇我们讲到embedded版本的基础操作 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇​zhuanlan.zhihu.com 可是却没有办法用pi ...

  2. pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇

    上篇讲到 pyinstaller打包exe太大的问题 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 前提篇​zhuanlan.zhihu.com 那既然py ...

  3. pyinstaller打包的exe太大?你需要嵌入式python玄学

    pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...

  4. pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误

    python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...

  5. 用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件

    本文为原创文章,转载请标明出处 一.you-get介绍 you-get是一个基于 python 3 的下载工具,使用 you-get 可以很轻松的下载到网络上的视频.图片及音乐.目前支持网易云音乐.A ...

  6. 反编译pyinstaller打包的exe安装包

    PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译 在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win ...

  7. 用Pyinstaller打包发布exe应用

    有时候编写的Python程序依赖很多,如果要在不同服务器上安装python环境等东西有点得不偿失了.这时候可以使用pyinstaller和py2exe,能够将python程序打包成可执行的exe文件, ...

  8. python用pyinstaller打包成exe文件

    版本为Python2.7 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装  使用pip命 ...

  9. PyInstaller打包成exe可执行文件

    PyInstaller 安装pyinstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码 ...

随机推荐

  1. 【Linux 网络编程】OSI七层模型

    OSI(Open System Interconnection)开放系统互联模型(1)应用层: 应用层与应用程序界面沟通,以达到展示给用户的目的.(2)表示层: 表示层对网络传输的数据进行交换,使得多 ...

  2. mybatis+mysql 返回主键

    需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: <insert id="i ...

  3. [UER #1] DZY Loves Graph

    题目描述 开始有 \(n\) 个点,现在对这 \(n\) 个点进行了 \(m\) 次操作,对于第 \(i\) 个操作(从 \(1\) 开始编号)有可能的三种情况: \(Add\) a b: 表示在 \ ...

  4. html之input

    <input>在w3c中解释的是用于搜集用户的信息 它其实就是一个输入框,根据type的不同这个框可以用作不同的功能可以输入一个文本,可以定义一个按钮什么的. 属性type一些值的介绍 1 ...

  5. SparkML之推荐算法ALS

    参考: SparkML之推荐算法(一)ALS --有个比较详细的讲解,包含blocks使用. Spark ALS源码总结 //TODO 源码,集群尝试.研究blocks使用原理及作用. 官方解释:nu ...

  6. 会引起全表扫描的几种SQL 以及sql优化 (转)

    出处: 查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘ ...

  7. dict 小习题

    1.请将列表中的每个元素通过 "" 链接起来. users = ['大黑哥','龚明阳',666,'渣渣辉'] a='' for i in users: i=str(i) a=a+ ...

  8. luogu P3210 [HNOI2010]取石头游戏

    传送门 不会结论做个鬼系列 题意其实是在头尾(最多)两个栈以及中间一些双端队列依次取数,然后每个人都要最大化自己的价值 有一个结论,如果一段序列中,出现了三个相邻位置\(A,B,C\),满足\(A\l ...

  9. {经典}springmvc+mybatis+restful+webservice Jeesz分布式架构

    框架简介--主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件.数据权限组件.数据字典组件.核心工具 组件.视图操作组件.工作流组件组件.代码生成等.采用 ...

  10. 启动angular项目,端口被占用

    启动项目,npm start,报如下错误: 解决:1.win+R,输入CMD,启动命令行窗口. 2.输入netstat -ano或者netstat -ano|findstr 8080,查看8080端口 ...