python 嵌入式打包【保姆级文图教程】
python 嵌入式打包
嵌入式解决了什么问题?#
我们有的时候写代码不是为了自己而写,而且是需要发给别人,比如别人拜托你帮忙写个什么文件批量重命名或者操作 excel 之类的,但是别人电脑上没有安装 python ,你想让一个小白安装 python 是一件麻烦事情不说,而且最终还可能各种报错
这个时候先全部打包好,弄成一个可以直接运行 exe 或者 bat,不管什么格式,总之对方拿到之后双击就能运行就是成功,我们的 pyinstaller 就是前面一种,但是 pyinstaller 打出来的包巨大无比,而且有的时候打包单文件还会报错
于是今天我们就来讲讲第二种,这一方法也是官方的推荐,官方看到我们使用 python 苦于打包,于是退出了嵌入式版本
什么是嵌入式?#
嵌入式 python 是一个简化版的 python,这个版本的 python 省去了很多无用的东西,最终只留下一个非常精简的解释器,让其他电脑可以不用安装 python 也能执行 python ,这就是嵌入式的概念
你可以理解为完整的 python 是食堂,你需要各种等待才能拿到需要的东西, python 嵌入式更像是快餐,你没办法在 python 嵌入式里面开发(大部分情况下),但是好在能够打开就用
因为嵌入式需要一串启动咒语,所以我们一般是用 .bat
的方式来进行调用,方便新手能够一键启动,目前很火的 Ai 整合包也是采用同样的方法
如何安装嵌入式?#
网上现在其实也有安装的教程, 但是不是特别详细,今天在这里完整的复述一遍,让小白能够一步步实现自己的打包梦
前往官网下载嵌入式#
- 首先我们打开官网来到最新的官网页面https://www.python.org/
- 备注:下载的页面排版更新了,如果你按老教程会找不到在什么地方
- 选择
Downloads
标签页,然后选择Windows
,点击
- 在屏幕中寻找带
embeddable
字眼的安装包,版本不受限制,不过最好和本地现有的安装版本一致- (新手不要盲目安装3.10 +的版本,许多库都还没跟上最新版本,可能会导致少数库用不了)
- 如果不知道自己的 python 版本,可以在命令行中输入
python
即可看到
解压并配置嵌入式设置#
我们现在从官方下载下来了嵌入式的版本,但是我们还需要进行一系列的配置我们才能够进行使用
- 解压
我们现在把刚刚下载的文件解压到一个地方
- 下载
get-pip.py
我们发现这个版本的 python 没有 lib,我们需要自行下载,下载的方式也很简单,前往https://bootstrap.pypa.io/get-pip.py,然后将所有内容拷贝下来,保存到同名的文件中
你可以选择直接另存网站,或者选择全选拷贝,最终效果是一样的
- 执行
get-pip.py
我们拷贝完成之后选择退出,然后在标题栏输入 cmd
在新打开的命令中输入 python get-pip.py
此时我们的目录中多出两个文件夹Lib
和Scripts
,我们后面会经常用到的只有 Lib
文件夹,我们在这里拷贝第三方的库
- 修改配置文件
我们现在打开python39._pth
,使用记事本或者notepad++
可以看到刚刚打开的文件内容应该是这样的
去掉最后一行的注释
#import site
变成
import site
到此为止,我们的安装和配置就结束了,接下来我们来介绍一下怎么使用
如何安装新的模块#
切换到我们的 Scripts
文件夹里面,里面应该有一个 pip.exe
文件,这个时候在导航栏里面输入 cmd 打开控制台,然后正常的 pip 即可,最终文件会被安装到当前嵌入式环境的 Lib\site-packages
中
如何运行#
在包含 python.exe
的主要目录下,打开在导航栏里面输入 cmd 打开控制台,然后输入 python 即可
或者您可以把这个路径添加到系统环境变量中,这样也可以很方便的进行使用
作者:bemake
出处:https://www.cnblogs.com/BEMAKE/p/16806999.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)