如何通过.bat文件调用Pyinstaller?

时间:2018-09-06 11:32:39

标签: python batch-file pyinstaller

当前要使用Pyinstaller,我打开一个Python命令控制台,然后使用cd转到我的.spec文件的位置,然后键入pyinstaller Software.spec。它工作正常,但我想自动化它,并让.bat文件为我执行这些操作。

我已经制作了小的.bat文件来执行我的程序(见下文),我认为调用Pyinstaller的结构将很接近,但是我正在摸索。

C:\Python\python-3.6.3.amd64\python Software.py
pause

.bat文件运行Pyinstaller的失败尝试包括:

C:\Python\python-3.6.3.amd64\python\Scripts\pyinstaller.exe Software.spec

C:\Python\python-3.6.3.amd64\python CALL :pyinstaller Software.spec

任何想法都会受到欢迎。

解决方案

我们需要像这样用Python执行Pyinstaller.exe:

"path\to\python.exe" "path\to\pyinstaller.exe" "path\to\my\Software.spec"

2 个答案:

答案 0 :(得分:2)

通常,您还需要调用脚本的路径,但还必须始终使用双引号路径以确保不会出现空格冲突。始终将可执行文件的完整扩展名称为最佳措施。

"C:\Python\python-3.6.3.amd64\python.exe" "C:\path\to\Software.py"

您也可以在同一批处理窗口中启动它:

start /b "" "C:\Python\python-3.6.3.amd64\python.exe" "C:\path\to\Software.py"

或使用pyinstaller.exe示例:

"C:\Python\python-3.6.3.amd64\python\Scripts\pyinstaller.exe" "C:\path\to\Software.spec"

答案 1 :(得分:0)

简单地拖放任何python文件都会在执行pyinstaller脚本后在dist文件夹中生成一个已编译的exe文件。

@echo off
PATH = "%PATH% + %USERPROFILE%\AppData\local\programs\python\Python38"
:: %1 is the file dropped on the batch file
pyInstaller --windowed  --onefile %1

如果将%1更改为文件名,它也将起作用。将脚本另存为Pyinst.bat,然后将python文件拖放到该脚本上。