Pyinstaller打包生成exe文件过大,四种常用处理方法集锦---嵌入式Python-02

上篇讲到 pyinstaller打包exe太大的问题

CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 前提篇?zhuanlan.zhihu.com

那既然pyinstaller这么麻(nan)烦(yong) 那为什么不找一种方法代替它呢?

经过多方面打听,一位道上的盆友告诉了我一个惊天大秘密

python有embedded版本

当我看完了官方的文档以后。。。我的表情是这样的

惊喜&惊喜&惊喜&惊喜 像发现了新大陆一样

python37的embedded版本

Python Release Python 3.7.3?www.python.org

因为64位exe可能不支持32位系统 反其道而行之直接选32位就完事了

11.5M 很良心有没有!!

然后解压这个.zip压缩包就可以当作一个迷你python正常使用了!

再也不用费尽心机让“聪明”的用户们安装令人头大的python并且加入path了

让我们试一下!

嗯···不错不错 味道好极了(真香)

看来问题不大!那么我们该如何调用这个特殊版本的迷你python呢?

请注意:如果您的电脑上存在完整的python环境并且已经加入了PATH当中 直接用cmd调用python像这样:

调用的仍然是存在于PATH当中的完整的python环境

正确打开方式:把embedded-python.exe的完整路径加上 像这样:

那么问题来了 如何让我们写的.py运行在指定的环境之上呢?

它笨我们不笨啊 这时候就有必要祭出伟大的命令行工具了 比如vbs啊bat啊

windows的福音啊

开整!

比如我写了一个test.py 想要用embedded python运行:

完美!

embedded-python:知道我的厉害了吧

强制但是:[思考··] 如果这个embedded-python只提供基础的库 那我要用到matplotlib Pillow怎么办? pip?

事实证明 没有pip!!!



下面我们讲如何给embedded-python安装pip

以及使用pip安装必要库~

-EOF- 高产似那啥??不存在的

上篇我们讲到embedded版本的基础操作

CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇?zhuanlan.zhihu.com

可是却没有办法用pip安装必要的库

去看一下官方文档怎么说的

version of python do not supports pip?docs.python.org

嗯。。。不支持 不光如此,Tcl/tk也是不给你滴。。。

可是谁甘心只用标准库敲代码?卒都不知道怎么卒的···

关键是他,,,他掉头发呀

程序猿(媛)们再一次发挥聪明才智,把pip塞进去了

Step 1

下载python-embedded(废话嘛这不是)

Step 2

解压缩 =w=

Step 3

找到自己python-embedded文件夹下的python37.pth(如果你下载的是27版本那当然就是python27._pth啦)

用记事本打开-w-(我管你用什么 你能打开就行了)

把# import site前面的注释符号“#”删除——保存

python37.zip
.

# Uncomment to run site.main() automatically
import site

Step 4

去官网下载get-pip.py

Installation - pip 19.2.1 documentation?pip.pypa.io

别去给我全选--复制哈 复制我会打人的(全选一年也全选不完的说)

正确打开方式:

保存到你的python-embedded文件夹下

Step 5

用cmd cd到python-embedded文件夹下

记得带上python-embedded的完整路径 比如我解压在F:\python-3.7.3-embed-win32

就需要这么写:

F:\python-3.7.3-embed-win32\python.exe get-pip.py

至此 pip已经塞到了python-embedded里面 与此同时setuptools&wheel也安装完成

意味着:我们可以升级&安装.whl库啦

Step 6

用cmd cd到python-embedded\Scripts文件夹下

记得带上完整路径!比如:

F:\python-3.7.3-embed-win32\Scripts\pip.exe install xxx

.whl文件同理啦

F:\python-3.7.3-embed-win32\Scripts\pip.exe install xxx.whl

确保第三步已经完成!

否则会报错:

>>F:\python-3.7.3-embed-win32\Scripts\pip.exe install pypercilp
Traceback (most recent call last):
  File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\runpy.py", line 193, in _run_module_as_main
  File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\runpy.py", line 85, in _run_code
  File "F:\python-3.7.3-embed-win32\Scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named ‘pip‘

这样我们就完成了pip的安装&简单模块使用pip安装

原文:

pip with embedded python?stackoverflow.com



但是···等等···!像官方文档说的:Tk不提供 并且牵扯到的tcl也不提供的情况下

我们怎么把tkinter安装在embedded版本里呢????

下期我们讲Tk&tcl在python-embedded里的安装方法!

原文地址:https://www.cnblogs.com/vilenx/p/12409003.html

时间: 2024-10-13 15:13:38

Pyinstaller打包生成exe文件过大,四种常用处理方法集锦---嵌入式Python-02的相关文章

VS2010 打包生成exe文件后 运行安装文件出现 TODO:&lt;文件说明&gt;已停止工作并已关闭

VS2010 打包生成exe文件后  运行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了空文件夹,那么该空的文件夹就不会被加载进去,导致程序运行用到该文件夹的时候就会出现了该问题. 解决方法: 如建立了文件Calibration 那么先随便加载一个文件(如:3.csv)文件进去  不让它为空就行了

VS2010 打包生成exe文件后 执行安装文件出现 TODO:&amp;lt;文件说明&amp;gt;已停止工作并已关闭

一.VS2010 打包生成exe文件后  执行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了空目录,那么该空的目录就不会被载入进去,导致程序执行用到该目录的时候就会出现了该问题. 解决方法: 如建立了文件Calibration 那么先随便载入一个文件(如:3.csv)文件进去  不让它为空即可了 二.打包经常使用设置: 1.设置软件的安装文件夹 能够直接改动的faultLocation  如:E:\

[Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件

1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他能很方便的帮我把 python脚本打包成一个 .exe 程序. cmd打包指令:pyinstaller [一些参数] [打包 .py 脚本的路径] 打包后会在用户目录下产生 两个文件夹 (其中 打包成品 在 build 文件夹下): 1.当我们什么参数都不给的时候: 打包后的结果为一个文件夹: 文件

更换用installshield打包生成exe文件的图标【转】

最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用installshield2010修改(反正自己没找到),最后找到一个还算不错的方法:用微软的Visual Studio可以修改.修改方法如下: 1.打开VS2010(其他版本也可以),选择方式如下,将你的exe文件导进来. 2.删掉红色选中的icon. 3.右击添加你想替换的图标,记得把新添加进来的图

解决: PyInstaller打包后exe文件打开时出现failed to execute script

def resource_path(self, relative): if hasattr(sys, "_MEIPASS"): return os.path.join(sys._MEIPASS, relative) return os.path.join(relative) def copy_GUI(self): root = tkinter.Tk() root.title("U盘拷贝小工具 v6.0") root.geometry("400x260&qu

java project打包+生成.exe文件

一篇参考的帖子 http://tieba.baidu.com/p/2052248629 windows下Java应用程序的部署 http://blog.csdn.net/weiguolee/article/details/6868931

批量生成二维码打包成exe文件

需求:  根据url 和 文件名称 生成二维码   将二维码放到背景图上合成一张二维码 思路: 使用qrcode库 获取二维码 保存本地  全部完成后 与本地背景图合成   最后使用pyinstaller将python打包成exe文件 # -*- coding: utf-8 -*- import urllib; import os import time import threadpool from PIL import Image import qrcode path = os.getcwd(

Pyinstaller (python打包为exe文件)

需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,win7有一部分不能使用,我在win10能够很好的运行. 准备: pyinstaller (http://www.pyinstaller.org) 首先还是去官网看支持的python版本,不然会很尴尬的. 安装: 需要安装pyinstaller和pywin32 使用以下命令将会自动安装两个包,在cmd用

如何打包/运行jar包,及生成exe文件

关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了).决定写下来,以便之后随时调用. 一.jar包 什么是jar包?jar包即(Java Archive File),也就是java归档文件.JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的