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 再次打包成单个文件比较好

 

posted @   leolzi  阅读(208)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示