dlib 安装处理 和 py打包 nuitka:
dlib库的安装不建议自己编译,从网上下载已经编译好的 whl 包安装即可,自己编码cmake依赖太多,版本繁杂,一般不会成功
1、确定自己的python 版本
版本信息很容易获得 或 python -V
2.下载对应的版本的dlib whl文件
此处是 python 10,网上找相关的whl文件,
比如:
https://gitcode.net/mirrors/qianyulongkong/python-3.10-dlib-/-/tree/main
下载下来
3.本地安装依赖
pip install **文件路径**文件名.whl
比如:
pip install E:\python\dlib-19.22.99-cp310-cp310-win_amd64.whl
安装 face_recognition:
pip install face_recognition
4. python 打包(dlib numpy相关):
nuitka --mingw64 --standalone --show-progress --show-memory --output-dir=out --nofollow-imports --follow-import-to=need main.py
命令解读:
1 2 3 4 5 6 7 | --mingw64 #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议) --standalone #不依赖python环境运行 --show-progress #显示进度 --show-memory #显示内存占用 --output- dir =out #输出到 out文件夹下 --nofollow-imports --follow- import -to=need |
其他命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 | nuitka --follow-imports --show-progress --mingw64 main.py --follow-imports # 打包import的文件 --standalone # 脱离python环境 --show-progress # 展示打包详情的控制台输出 --include-package=requests # 将requests包打包进exe --mingw64 # 指定编译器 --plugin- enable =requests # 导入第三方包 -o wenshu.exe # 指定exe名字 --output- dir = # 指定打包后的路径,默认当前路径 --windows-disable-console # 去掉黑窗口 --windows-icon= # 指定图标 nuitka --plugin-list # 查看可用的插件 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | --mingw64 #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议) --standalone 独立环境,这是必须的(否则拷给别人无法使用) --windows-disable-console 没有CMD控制窗口 --output- dir =out 生成exe到out文件夹下面去 --show-progress 显示编译的进度,很直观 --show-memory 显示内存的占用 -- enable -plugin=pyside6 --plugin- enable =tk-inter 打包tkinter模块的刚需 --plugin- enable =numpy 打包numpy,pandas,matplotlib模块的刚需 --plugin- enable =torch 打包pytorch的刚需 --plugin- enable =tensorflow 打包tensorflow的刚需 --windows-icon-from-ico=你的.ico 软件的图标 --windows-company-name=Windows下软件公司信息 --windows-product-name=Windows下软件名称 --windows- file -version=Windows下软件的信息 --windows-product-version=Windows下软件的产品信息 --windows- file -description=Windows下软件的作用描述 --windows-uac-admin=Windows下用户可以使用管理员权限来安装 --linux-onefile-icon=Linux下的图标位置 --onefile 像pyinstaller一样打包成单个exe文件(2021年我会再出教程来解释) --include-package=复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子 --include-module=复制比如when.py 这些以.py结尾的叫模块 |
5、错误处理:
我们从venv/lib/site-packages下找到numpy包,复制到disk目录中
6、参考:https://www.bilibili.com/read/cv25190881
8、用 enigmaprotector 再次打包成单个文件比较好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)