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

 

4. python 打包(dlib numpy相关):

nuitka --mingw64 --standalone --show-progress --show-memory --output-dir=out  --nofollow-imports --follow-import-to=need main.py

 

命令解读:

--mingw64  #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)
--standalone   #不依赖python环境运行
--show-progress  #显示进度
--show-memory    #显示内存占用
--output-dir=out  #输出到 out文件夹下 
--nofollow-imports 
--follow-import-to=need

  

其他命令:

 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  # 查看可用的插件

  

--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 @ 2023-08-05 10:24  leolzi  阅读(117)  评论(0编辑  收藏  举报