• Pyinstaller не работает вместе с silero tts выбивая ошибку, как это можно исправить?

    @nds90
    скрипт 2.py
    import os
    import sys
    import torch
    import sounddevice as sd
    import wave # чтобы не было ошибки что модуль не найден при запуске его нада указывать явно
    
    example_text = 'В недрах тундры выдры в г+етрах т+ырят в вёдра ядра к+едров.'
    sample_rate = 48000  #8000 24000 48000
    speaker='baya'  #'aidar' 'baya' 'kseniya' 'xsenia' 'eugene' 'random'
    
    if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
        os.chdir(sys._MEIPASS)
        
    torch.set_num_threads(4)
    model = torch.package.PackageImporter('./model.pt').load_pickle("tts_models", "model")
    model.to(torch.device('cpu'))
    
    audio = model.apply_tts(text=example_text,
                            speaker=speaker,
                            sample_rate=sample_rate,
                            put_accent=True,
                            put_yo=True)
    
    sd.play(audio, sample_rate)
    sd.wait()
    sd.stop()


    правим 2.spec

    # -*- mode: python ; coding: utf-8 -*-
    
    
    block_cipher = None
    
    
    a = Analysis(
        ['2.py'],
        pathex=[],
        binaries=[],
        datas=[('model.pt', '.')],
        hiddenimports=['pkg_resources.py2_warn'],
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=['torch.distributions'],
        win_no_prefer_redirects=False,
        win_private_assemblies=False,
        cipher=block_cipher,
        noarchive=False,
    )
    pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
    
    exe = EXE(
        pyz,
        a.scripts,
        a.binaries,
        a.zipfiles,
        a.datas,
        [],
        name='2',
        debug=False,
        bootloader_ignore_signals=False,
        strip=False,
        upx=True,
        upx_exclude=[],
        runtime_tmpdir=None,
        console=True,
        disable_windowed_traceback=False,
        argv_emulation=False,
        target_arch=None,
        codesign_identity=None,
        entitlements_file=None,
    )


    ну и собственно собирает в 1 исполняемый файл

    pyinstaller 2.spec

    думаю суть понятна)
    Ответ написан
    Комментировать