1、禁用微软商店引流
点击开始菜单输入管理应用执行别名
搜索系统设置,将该列表划到最底部,找到python.exe
和python3.exe
,将其设置为关闭状态
这是微软搞的狗皮膏药,强制型环境变量
2、配置Python环境
1.考虑版本管理:Anaconda官网、Miniconda清华镜像、pyenv-win的Github仓库
2.只安装Python:华为镜像、阿里镜像、newbe、Python官网ftp地址
本篇文章安装Anaconda的Anaconda3-2021.11-Windows-x86_64.exe
版本,下载链接
更高的版本不支持添加环境变量
选择All Users (requires admin privileges)
勾选Add Anaconda3 to the system PATH environment variable
其他界面选择下一步
和安装
,弹出的网页直接关闭就行了
3、验证安装
运行conda --version
,成功输出conda的版本号说明安装成功
4、设置镜像
Anaconda 镜像使用帮助 - 清华大学开源软件镜像站
配置文件位置:%USERPROFILE%\.condarc
在Anaconda Powershell Prompt (Anaconda3)
中运行以下命令配置pip镜像源
pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple;pip config set global.trusted-host repo.huaweicloud.com;pip config set global.timeout 6000
5、创建新的Python3.10环境
安装Anaconda后自带一个3.9.7版本的Python,但是还是另外创建一个Python环境
访问kivy文档查看kivy支持的Python版本
conda create --name GUIkivy python=3.10
conda env list
查看已拥有的环境,星号*
代表当前使用的环境
conda activate GUIkivy
切换刚创建的环境(新开的命令行窗口注意切换)(Powershell不识别该命令)
conda install -c conda-forge kivy -y
安装kivy
conda install -c conda-forge black -y
安装代码格式化工具
conda install -c conda-forge pyinstaller -y
安装打包工具pyinstaller
conda install -c conda-forge nuitka -y
安装打包工具nuitka
pip install kivy_examples
安装kivy的代码例子
6、安装VSCode
VSCode下载地址 - Azure中国区,安装时记得勾选两个上下文菜单
选项,安装插件:简体中文语言包、Python、Pylint代码检查
7、编写helloworld
Ctrl+Shift+P
打开VSCode的命令面板,输入>Python: Select Interpreter
并点击,选择Python 3.10.9 ('GUIkivy')
新建文件夹python-kivy
用于放置代码,用VSCode打开文件夹,新建文件hello_world.py
"""
Filename: hello_world.py
"""
import kivy
from kivy.app import App
from kivy.uix.button import Button
kivy.require("2.1.0")
class MyApp(App):
"""docstring for MyApp"""
def build(self):
return Button(text="Hello World")
if __name__ == "__main__":
MyApp().run()
8、运行
点击运行按钮或者右键代码编辑区域选择
在终端中运行 Python 文件
然后你就得到了一个被按钮占满的窗口。
9、PyInstaller打包
代码的文件位置:.\python-kivy\hello_world.py
在这个路径运行cmd命令
conda activate GUIkivy
python -m PyInstaller --onefile --name helloworld hello_world.py
生成文件位置:.\python-kivy\dist\helloworld.exe
运行一下
如果不使用upx模式(默认是使用的),文件大小会增加2.5MB
如果-w, --windowed, --noconsole
隐藏控制台打包模式就会出现如下现象
绷不住了🤣
10、Nuitka打包
1.???下载gcc8.1.0???,这个是无用的步骤
访问MinGW-W64 - sourceforge提供下载地址下载MinGW64 8.1.0
在该页面搜索x86_64-win32-sjlj
,下载高亮的那个
将压缩包中的mingw64文件夹直接放到C盘根目录并设置环境变量
例如gcc的路径是这样的:C:\mingw64\bin\gcc.exe
开始菜单搜索编辑系统环境变量
并打开,打开Path变量添加一条,内容为C:\mingw64\bin
,点两次确定
新打开CMD运行命令gcc --version
输出版本号等信息说明设置成功
Nuitka会觉得版本太旧自己另下
2.代码的文件位置:.\python-kivy\hello_world.py
在这个路径运行cmd命令
conda activate GUIkivy
conda install -c conda-forge ordered-set -y
安装ordered-set(给nuitka提速)
python -m nuitka --standalone --mingw64 --show-progress --show-memory --output-dir=out --windows-disable-console hello_world.py
3.注意:读条要读两遍,慢慢等报错出现(可以打0.1把文明六,额,不是)
Nuitka会提示需要下载winlibs_mingw
,根据报错中的链接和缓存位置,下载并放进缓存目录。
(文件可能在winlibs_mingw - Github发行页第三页)(winlibs-x86_64-posix-seh-gcc-11.3.0-llvm-14.0.3-mingw-w64msvcrt-10.0.0-r3.zip的文件大小是248 MB)
4.再次运行nuitka命令等待报错
Nuitka会提示需要下载ccache
,根据报错中的链接和缓存位置,下载并放进缓存目录。
(文件可能在ccache - Github发行页第一页)
5.再再次运行nuitka命令等待报错
这次是depends
,下载地址
你别看文件小,这些个破程序破框架吹得一个比一个牛,没一个能比过IDM,全是弟弟,真他妈low。
继续,下载并放进缓存目录。
6.再再再次运行nuitka命令
等待运行完毕,往上翻翻(比如上翻50行),你会找到这行提示
Nuitka:INFO: Successfully created 'out\hello_world.dist\hello_world.exe'.
整个hello_world.dist
文件夹就是生成的程序
如果想做成安装包就需要其他安装包制作工具,比如NSIS,Inno Setup,Actual Installer,WiX toolset等等众多工具。
Actual Installer Free使用教程