From 732daf37382e363a9ebbc38829a42b82a9a9d783 Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Thu, 7 Apr 2022 14:36:08 -0400 Subject: [PATCH] Use single binary for PyInstaller mimic3 --- .dockerignore | 1 + Dockerfile.binary | 33 +++---------------- .../{mimic3_server.py => mimic3-server} | 8 ++--- 3 files changed, 9 insertions(+), 33 deletions(-) rename pyinstaller/{mimic3_server.py => mimic3-server} (84%) mode change 100644 => 100755 diff --git a/.dockerignore b/.dockerignore index c537b96..dce5c6d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,6 +2,7 @@ !LICENSE !install.sh !pyinstaller/*.py +!pyinstaller/mimic3-server # opentts-abc !opentts-abc/setup.py diff --git a/Dockerfile.binary b/Dockerfile.binary index c33289c..9e0df74 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -51,7 +51,7 @@ RUN --mount=type=cache,id=pip-venv,target=/root/.cache/pip \ RUN --mount=type=cache,id=pip-venv,target=/root/.cache/pip \ .venv/bin/pip3 install 'pyinstaller>=4,<5' -# Create binary for command-line interface +# Create binary RUN .venv/bin/pyinstaller \ --noconfirm \ --name mimic3 \ @@ -75,37 +75,12 @@ RUN .venv/bin/pyinstaller \ --collect-data "gruut_lang_sw" \ --collect-data 'espeak_phonemizer' \ --collect-data 'phonemes2ids' \ - --collect-data 'mimic3_tts' \ - pyinstaller/mimic3.py - -# Create binary for web server -RUN .venv/bin/pyinstaller \ - --noconfirm \ - --name mimic3-server \ - --hidden-import 'pycrfsuite._dumpparser' \ - --hidden-import 'pycrfsuite._logparser' \ - --collect-binaries 'onnxruntime' \ - --collect-data 'gruut' \ - --hidden-import "gruut_lang_de" \ - --collect-data "gruut_lang_de" \ - --hidden-import "gruut_lang_en" \ - --collect-data "gruut_lang_en" \ - --hidden-import "gruut_lang_fr" \ - --collect-data "gruut_lang_fr" \ - --hidden-import "gruut_lang_it" \ - --collect-data "gruut_lang_it" \ - --hidden-import "gruut_lang_nl" \ - --collect-data "gruut_lang_nl" \ - --hidden-import "gruut_lang_ru" \ - --collect-data "gruut_lang_ru" \ - --hidden-import "gruut_lang_sw" \ - --collect-data "gruut_lang_sw" \ - --collect-data 'espeak_phonemizer' \ - --collect-data 'phonemes2ids' \ --hidden-import 'swagger_ui' \ --collect-data 'mimic3_tts' \ --collect-data 'mimic3_http' \ - pyinstaller/mimic3_server.py + pyinstaller/mimic3.py + +COPY pyinstaller/mimic3-server dist/mimic3/ # ----------------------------------------------------------------------------- diff --git a/pyinstaller/mimic3_server.py b/pyinstaller/mimic3-server old mode 100644 new mode 100755 similarity index 84% rename from pyinstaller/mimic3_server.py rename to pyinstaller/mimic3-server index bc3b8f5..c78633f --- a/pyinstaller/mimic3_server.py +++ b/pyinstaller/mimic3-server @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env bash # Copyright 2022 Mycroft AI Inc. # # This program is free software: you can redistribute it and/or modify @@ -14,8 +14,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -"""Stub for PyInstaller""" -from mimic3_http.__main__ import main +# Directory of *this* script +this_dir="$( cd "$( dirname "$0" )" && pwd )" -main() +"${this_dir}/mimic3" --server "$@"