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\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玄学 探索篇的更多相关文章
- pyinstaller打包的exe太大?你需要嵌入式python玄学 拓展篇
上篇我们讲到embedded版本的基础操作 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇zhuanlan.zhihu.com 可是却没有办法用pi ...
- pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇
上篇讲到 pyinstaller打包exe太大的问题 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 前提篇zhuanlan.zhihu.com 那既然py ...
- pyinstaller打包的exe太大?你需要嵌入式python玄学
pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...
- pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误
python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...
- 用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件
本文为原创文章,转载请标明出处 一.you-get介绍 you-get是一个基于 python 3 的下载工具,使用 you-get 可以很轻松的下载到网络上的视频.图片及音乐.目前支持网易云音乐.A ...
- 反编译pyinstaller打包的exe安装包
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译 在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win ...
- 用Pyinstaller打包发布exe应用
有时候编写的Python程序依赖很多,如果要在不同服务器上安装python环境等东西有点得不偿失了.这时候可以使用pyinstaller和py2exe,能够将python程序打包成可执行的exe文件, ...
- python用pyinstaller打包成exe文件
版本为Python2.7 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 使用pip命 ...
- PyInstaller打包成exe可执行文件
PyInstaller 安装pyinstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码 ...
随机推荐
- [转帖]软件的变革与 AOT
软件的变革与 AOT https://www.colabug.com/851475.html 文章写的很牛B .. 前言 AOT 即 Ahead of Time Compilation,即运行前编,与 ...
- IOMETER的简单使用
1. 网上下载文件: 一般至少包含两个: 2. 使用IOmeter 进行 功能测试. 注意选择 测试需要的盘 注意 选择的磁盘 会被充满. 会产生一个特别大的文件 3. 选择测试对象 4. 可以查看实 ...
- xml文件简单读取,循环遍历
xml文件的简单读取出来生成dom4j.Document对象树,循环遍历获取节点 例子: import java.util.Iterator; import org.dom4j.Document; i ...
- C++中类模板的概念和意义
1,在 C++ 中是否能够将泛型的思想应用于类? 1,函数模板是将泛型编程的思想应用于函数,就有了函数模板: 2,可以,常用的 C++ 标准库就是 C++ 中的标准模板库,C++ 中的 STL 就是将 ...
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 F. Islands
On the mysterious continent of Tamriel, there is a great empire founded by human. To develope the tr ...
- javascript异步延时加载及判断是否已加载js/css文件
<html> <head> <script type="text/javascript"> /**======================= ...
- mybatis多对多关联关系映射
mybatis多对多关联关系映射 多对多关系在java类实体中表示为,一个类中包含了集合为另一个类的属性.而这连个实体都需要包含对方的集合类的属性. 例如:订单和商品,一个订单包含多个商品,一个商品又 ...
- Python3 A*寻路算法实现
# -*- coding: utf-8 -*- import math import random import copy import time import sys import tkinter ...
- SpringCloud系列:前言
准备写springcloud系列了,先吐槽下自己,之前准备把学到的东西写下来,都因为工作或自己太懒(主要还是懒),写了个开篇就GG了,这次springcloud一定会坚持写完.加油! 这里先说下我搭建 ...
- (转) 修改weblogic部署的应用名称
通过weblogic管理后台console进行发布本地项目的时候,它会默认以WEB-INF的上一级目录作为访问路径, 如,假如你的项目WEB-INF目录的上一层是WebRoot,那么发布后, 访问的路 ...