Python——Windows使用Nuitka2.0打包(保姆级教程)
创始人
2024-11-06 07:09:45

目录

一、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/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打包教程

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页面,以获取最新使用技巧。

 

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...