Способ, которым (на данный момент) nuitka определяет, какой сценарий запускать, заключается в проверке sys.argv[0].
Вопрос в следующем как запустить сценарии a или b из (например) другой скрипт Python, использующий (например) subprocess.run.
a.py
Код: Выделить всё
import sys
print(f'a: {sys.argv}')
Код: Выделить всё
import sys
print(f'b: {sys.argv}')
Код: Выделить всё
python -m nuitka --lto=no --onefile --follow-imports --main=a.py --main=b.py
Код: Выделить всё
2025-01-06 01:05 AM a.onefile-build
2025-01-06 01:04 AM 35 a.py
2025-01-06 01:10 AM b.exe [a.exe]
Код: Выделить всё
C:\Users\sl\work\tests\so2>a
a: ['C:\\Users\\sl\\work\\tests\\so2\\a.exe']
C:\Users\sl\work\tests\so2>b
b: ['C:\\Users\\sl\\work\\tests\\so2\\b.exe']
Теперь о run.py:
Код: Выделить всё
import subprocess
subprocess.run(["a","1"], executable="./a.exe")
subprocess.run(["b","2"], executable="./a.exe")
Код: Выделить всё
python -m nuitka --onefile --follow-imports run.py
Код: Выделить всё
/run
a: ['C:\\Users\\sl\\work\\tests\\a.exe', '1']
a: ['C:\\Users\\sl\\work\\tests\\a.exe', '2']
Я подозреваю, что попытаться распространить что-то, для работы чего требуется mklink, будет сложно.
п>
Подробнее здесь: https://stackoverflow.com/questions/793 ... ual-binary