目录
一、Python虚拟环境搭建
1.1、下载Python
1.2、使用 venv方法(创建虚拟环境)
1.3、进入虚拟环境
1.4、用pip下载项目需要的包(与nuitka)
二、 使用 Nuitka 打包
2.1、打包常用命令(使用nuitka --help可查看所有命令)
2.2、我的项目打包示例(简单的摄像头项目)
2.3、注意事项
2.4、打包成功
三、 参考文章
四、总结
一、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/simplepip config set install.trusted-host mirrors.aliyun.com
pip install nuitkapip install -r requirements.txt # 假设你的所有依赖都列在了 requirements.txt 文件中
二、 使用 Nuitka 打包
使用 Nuitka 要在虚拟环境中使用!!!(而且你的虚拟环境也要安装Nuitka )
使用 Nuitka 打包:(重要的事情,说三遍!!!)
项目一定都要是英文路径!!!
项目一定都要是英文路径!!!
项目一定都要是英文路径!!!
Nuitka2.0已经升级,如果我们缺少他需要的环境,他会自己去github上面下载(我们只需要耐心等待即可)如果觉得下载慢,就自己下载对应的环境吧!老版教程链接(Nuitka环境安装):https://blog.51cto.com/u_14121041/64146982.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打包教程
https://blog.51cto.com/u_14121041/6414698
小插曲
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页面,以获取最新使用技巧。