python一键编译脚本(新增一键删除脚本)
本帖最后由 axiuge 于 2024-4-28 15:21 编辑我经常用python写程序,每次编译都要手动去输入命令打包成exe。
次数多了就烦了,我就用bat写了一个脚本。双击自动编译。
#PyInstaller编译
@echo off
chcp 65001 > nul
rem 遍历当前目录下的 .py 文件
for %%f in (*.py) do (
echo 正在将 %%f 编译成可执行文件...
rem 使用pyinstaller创建独立可执行文件并指定当前目录下的.ico图标
for %%i in (*.ico) do (
pyinstaller --noconsole --onefile --icon="%%i" "%%f"
rem 仅使用第一个找到的 .ico 文件
exit /b
)
)
echo 编译完成。
pause
#Nuitka编译.bat
@echo off
chcp 65001 > nul
rem 遍历当前目录下的 .py 文件
for %%f in (*.py) do (
echo 正在将 %%f 编译成可执行文件...
rem 使用Nuitka创建独立可执行文件并指定当前目录下的.ico图标
for %%i in (*.ico) do (
nuitka --onefile --icon="%%i" "%%f"
rem 仅使用第一个找到的 .ico 文件
exit /b
)
)
echo 编译完成。
pause
#一键删除
@echo off
setlocal enabledelayedexpansion
rem 删除当前文件夹下的任意文件名的 .build 文件夹及其所有内容
for /d %%i in (*.build) do (
rmdir /s /q "%%i"
)
rem 删除当前文件夹下的任意文件名的 .build 文件
del /s /q *.build
rem 删除文件夹 "dist"
for /d %%i in (dist) do (
rmdir /s /q "%%i"
)
rem 删除文件后缀为 ".spec" 的文件
for %%i in (*.spec) do (
del "%%i"
)
rem 删除文件后缀为 ".build" 的文件
for %%i in (*.build) do (
del "%%i"
)
rem 删除文件后缀为 "error_log.txt" 的文件
for %%i in (*error_log.txt) do (
del "%%i"
)
rem 删除 .exe 文件
for %%i in (*.exe) do (
del "%%i"
)
rem 删除 .cmd 文件
for %%i in (*.cmd) do (
del "%%i"
)
rem 删除 .build 文件夹
rmdir /s /q ".build"
endlocal
@echo off
REM 设置 Conda 环境名称
set ENV_NAME=my_env
REM 创建 Conda 环境
echo 创建 Conda 环境:%ENV_NAME%
conda create -y -n %ENV_NAME% python
REM 激活 Conda 环境
echo 激活 Conda 环境:%ENV_NAME%
call conda activate %ENV_NAME%
REM 安装依赖
echo 安装依赖...
pip install -r requirements.txt
REM 打包
echo 打包应用程序...
python setup.py sdist
REM 关闭 Conda 环境
echo 关闭 Conda 环境:%ENV_NAME%
call conda deactivate
echo 打包完成!
pause
吖力锅 发表于 2024-1-24 17:08
怎么不行呢 bat版的,可以上传个现成的吗?
因为编译的时候需要你在编译的目录放一个ico文件做为软件图标。我做了检测的判断。你可能是没放ico图标。 很好重复操作就想找个省事的 我擦,我喜欢,我咋没想到谢谢搞呢 楼主能否搞一个自动创建conda环境,自动安装依赖,然后自动打包的 怎么不行呢 bat版的,可以上传个现成的吗? 感谢分享,收藏一下
谢谢分享,我看你写的Nuitka编译和Pyinstaller编译的bat内容一样呀? 真是牛逼,方便多了 楼主, 两个编译代码是一样的, 是不是贴错了?
页:
[1]
2