python приложение, собранное pyinstaller, не запускается с ошибкой через cmd, но работает, если кликнуть мышкой

Написал приложение на pyqt5 и скомпилировал через pyinstaller (версия 5.13.2, пересобрал загрузчик что бы не жаловались антивирусы)

Если запускать как обычно (двойной клик лкм) или ставить в автозапуск, то всё работает, приложение запускается как надо. введите сюда описание изображенияНО если запускать через cmd ("<файл>" или "start <файл>"), то я получаю ошибку:

Traceback (most recent call last):
  File "client_main.py", line 479, in <module>
OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или метке тома: ''

В данной программе главным файлом действительно является client_main.py

Заранее спасибо!)

Дополнено:

  1. Программа использует 1 файл, который она создаёт сама, но умеет запускаться без него и около 3 файлов, которые включены в exe файл при компиляции. В рамках этого вопроса все запуски были в папке только с самой программой и ничем более. Кроме того, я пробовал вызывать start с указанием рабочего пространства (/D), но результат тот же.

  2. spec файла сейчас добавить не могу, но вечером будет. Ничего необычного там вроде нет

  3. файл имеет путь Downloads/tmp/tmp.exe (смена имени файла ни к чему не привела)

  4. запускаю файл из каталога где лежит сама программа (Downloads/tmp)

  5. запускал через команды "tmp.exe", "start tmp.exe", "start tmp.exe /D Downloads/tmp" (путь указывал начиная с C:, но сейчас не имею доступа к пк, что бы сказать полный путь). Напомню, что если кликнуть 2 раза по tmp.exe мышкой (обычный запуск обычного человека), то программа запускается корректно, всё работает

  6. пересобрал загрузчик по этой инструкции https://stackoverflow.com/a/65876921/21434146 кроме 4 пункта (там использовал команду "pip install .")

  7. файл "client_main.py", как я уже писал выше, действительно является главным файлом и для запуска всей программы надо запускать его.

  8. та часть, что не влезла на скрине полостью совпадает с той ошибкой, что я приложил в текстовом виде

spec файл:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['client_main.py'],
    pathex=[],
    binaries=[],
    datas=[('pub.txt', '.'), ('tray_icon.ico', '.')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    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='tmp',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['tray_icon.ico'],
)

Ответы (1 шт):

Автор решения: Slava

Нашёл +- решение. При 2 клике лкм файл открывается через explorer (так, например, если вы откроете pdf, то вас спросят чем его открыть). Вот я просто стал в cmd запускать через explorer. Не идеал, но работает, а так как в моём случае это вовсе не основная часть программы, то тратить на неё часов 5 без гарантий я не хочу))

конечная команда: "explorer <ваша программа>" (например "explorer tmp.exe")

→ Ссылка