当前要使用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"
答案 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文件拖放到该脚本上。