![cover](https://img-blog.csdnimg.cn/direct/175b5fe765674ecdb421e4981a59fe7f.png)
Python——Windows使用Nuitka2.0打包(保姆级教程)
目录
2.1、打包常用命令(使用nuitka --help可查看所有命令)
一、Python虚拟环境搭建
打包Python软件,最好用虚拟环境
1.1、下载Python
这个应该都有了。python-3.9.5-amd64.zip - 蓝奏云(没有下载的话,这里可以下载)
1.2、使用 venv方法(创建虚拟环境)
执行:python -m venv myenv
# python -m venv +虚拟环境名称 python -m venv myenv # 其他 source myenv/bin/activate # 在 Linux 或 macOS 上 myenv\Scripts\activate.bat # 在 Windows 上
然后就在当前地方创建一个myenv文件夹
1.3、进入虚拟环境
然后进入目录“E:\aaaa\myenv\Scripts”
这里提供了两个方法:
调用activate文件——可以进入我们的虚拟环境
调用deactivate文件——可以退出我们的虚拟环境
成功进入
1.4、用pip下载项目需要的包(与nuitka)
# 换源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set install.trusted-host mirrors.aliyun.com
pip install nuitka pip install -r requirements.txt # 假设你的所有依赖都列在了 requirements.txt 文件中
二、 使用 Nuitka 打包
使用 Nuitka 要在虚拟环境中使用!!!(而且你的虚拟环境也要安装Nuitka )
使用 Nuitka 打包:(重要的事情,说三遍!!!)
项目一定都要是英文路径!!!
项目一定都要是英文路径!!!
项目一定都要是英文路径!!!
- Nuitka2.0已经升级,如果我们缺少他需要的环境,他会自己去github上面下载(我们只需要耐心等待即可)
- 如果觉得下载慢,就自己下载对应的环境吧!
- 老版教程链接(Nuitka环境安装):https://blog.51cto.com/u_14121041/6414698
2.1、打包常用命令(使用nuitka --help可查看所有命令)
--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结尾的叫模块
2.2、我的项目打包示例(简单的摄像头项目)
项目下载链接:Acamera-python-nuitka.zip - 蓝奏云
我的项目用了:PySide6、opencv-python、numpy三个库
我的打包命令:(你的可以自行调整)
nuitka --mingw64 --show-progress --standalone --disable-console --enable-plugin=pyside6 --plugin-enable=numpy --onefile --remove-output camera.py
进入虚拟环境->安装库->开始打包
打包中:
耐心等待....
2.3、注意事项
我们需要按y,同意下载(一路输入:yes,即可打包完成)
他会下载我们缺少的环境(这里我们选择了mingw64 ,他就会去github上面下载)
会有多个东西需要下载,所以耐心一些
![]()
2.4、打包成功
生成了一个55MB的可执行文件(因为我让他只能生成一个文件)
![]()
三、 参考文章
python3 使用虚拟环境 venv:
Python配置虚拟环境---使用venv_python -m venv-CSDN博客
Nuitka1.0打包教程
小插曲
1、在打包期间,Nuitka需要 一个dll,他竟然去找到了我的微信开发者工具。
2、然而,微信开发者工具是中文路径,他就报错了!
3、那么我就把这个路径改为英文的,重新打包,就可以了~
四、总结
一、Python虚拟环境搭建
1.1 下载Python
- 访问Python官网下载最新版的Python安装程序,并根据操作系统执行安装。
1.2 使用venv方法创建虚拟环境
- 在命令行中,使用
python -m venv myenv
创建一个名为myenv
的虚拟环境。- 激活虚拟环境:
- Linux或macOS:
source myenv/bin/activate
- Windows:
myenv\Scripts\activate.bat
1.3 进入虚拟环境
- 激活虚拟环境后,您的命令行提示符会更改,以显示当前激活的虚拟环境名称。
1.4 使用pip下载项目需要的包
- 更换pip源至清华大学镜像站点以加速下载。
- 安装Nuitka和其他项目依赖包。
pip install nuitka
pip install -r requirements.txt
(假设所有依赖都列在了requirements.txt
文件中)二、使用Nuitka打包
2.1 打包常用命令
- Nuitka的命令行参数非常灵活,可以根据需要选择合适的参数来满足不同的打包需求。
- 示例命令:
nuitka --mingw64 --show-progress --standalone --disable-console --enable-plugin=pyside6 --plugin-enable=numpy --onefile --remove-output camera.py
- 这个命令会使用Nuitka和MinGW64编译器来打包一个名为
camera.py
的Python项目。- 启用了多个插件来支持Pyside6、Numpy等库的打包。
- 使用
--onefile
参数来生成单个可执行文件。2.2 注意事项
- 确保所有需要的环境和工具已正确安装。
- 根据项目实际需求选择合适的Nuitka参数。
- 如果遇到问题,参考Nuitka的官方文档或搜索相关错误信息。
2.3 打包成功
- 成功执行上述命令后,您的项目将被打包为一个可执行文件,位于指定的输出目录中。
- 如果有其他问题,建议查看Nuitka的官方文档和GitHub页面,以获取最新使用技巧。
更多推荐
所有评论(0)