上篇我们讲到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. [转帖]56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装

    56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装 https://www.cnbeta.com/articles/tech/835271.htm 当英特尔宣布上周正式 ...

  2. <<C++ Primer>> 术语表 (总) (待补充)

    术语表 目录 第 1 章 开始 第 I 部分 C++基础 第 2 章 变量和基本类型 第 3 章 字符串, 向量和数组 第 4 章 表达式 第 5 章 语句 第 6 章 函数 第 7 章 类 第 II ...

  3. C++中的类型识别

    1,为什么会提出类型识别概念呢? 1,为什么在 C 语言中没有提出这个概念呢,就是因为在 C++ 中引入了面向对象的特性,面向对象里面有一个非常重要的原则就是赋值兼容性原则: 2,在面向对象中可能出现 ...

  4. SIGCHLD和wait/waipid函数的关系

    SIGCHILD只是在子进程退出的时候发送给父进程的一个信号值,这是一种异步通知父进程的方式.父进程可以捕获,忽略这个信号,默认动作是忽略此信号. 常用的使用方式是,当SIGCHILD信号发生时候,主 ...

  5. centos7下apache启动报错记录

    http重启httpd发生错误,后面按照提示执行systemctl status httpd.service命令 按照提示,继续执行journalctl -xe 这里显示了详细的错误信息,并且给出了解 ...

  6. python pycharm 注册码

    D87IQPUU3Q-eyJsaWNlbnNlSWQiOiJEODdJUVBVVTNRIiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiI ...

  7. Ubuntu下Win10虚拟机卡顿问题解决

    问题描述 Ubuntu下用VMware创建了一个Windows10的虚拟机,初始给的配置如下: Memory: 4GB Graphics Memory: 1GB Hard Disk: 60GB 用的时 ...

  8. ElasticSearch基础知识讲解

    第一节 ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfull web接口.ElasticSea ...

  9. Windows向Linux上传文件夹

      1.将文件夹压缩成.tar.gz文件: 安装7-Zip,选择要压缩的文件夹--右键--“7-Zip”--“添加到压缩包...”,压缩格式选择“tar”, 在此目下就生成了“文件夹名.tar”文件, ...

  10. 【Java】 Java多线程(一)

    一.对线程的理解 1.线程概念 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行 ...