Моя цель — создать небольшой веб-сайт, на который можно было бы поместить мой файл .bin и позволить сценарию + MAME обрабатывать оставайтесь в фоновом режиме - затем верните мне мой .wav, чтобы загрузить его.
И весь процесс работает нормально, с небольшой проблемой, связанной с тем, что MAME просто не работает с подпроцессом Python.
Код Python, который я использую для запуска MAME:
Код: Выделить всё
process = subprocess.Popen(
[
'/path/to/mame',
'channelf',
'-rompath', '/path/to/mame/roms/',
'-cart', '/path/to/file.bin',
'-window',
'-seconds_to_run', str(play_length),
'-nothrottle',
'-ui', 'simple',
'-sound', 'none',
'-video', 'none',
'-wavwrite', '/path/to/file/render.wav',
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
Выполнение точно такой же команды в оболочке на другом рука работает без проблем (рабочий каталог не имеет значения, потому что я использую только полные пути, но я также пробовал и относительные пути из моего каталога Python - тот же результат).
Код: Выделить всё
# /path/to/mame channelf -rompath /path/to/mame/roms/ -cart /path/to/file.bin -window -seconds_to_run 240 -nothrottle -ui simple -sound none -video none -wavwrite /path/to/file/render.wav
pci id for fd 7: 1b36:0100, driver (null)
MESA-LOADER: failed to open qxl: /snap/mame/4284/gnome-platform/usr/lib/x86_64-linux-gnu/dri/qxl_dri.so: cannot open shared object file: No such file or directory (search paths /snap/mame/4284/gnome-platform/usr/lib/x86_64-linux-gnu/dri, suffix _dri)
pci id for fd 8: 1b36:0100, driver (null)
kmsro: driver missing
Average speed: 7242.29% (239 seconds)
Я не нашел в Интернете ресурсов по этой конкретной теме. проблема. Сообщение об ошибке, похоже, исходит от snapd, а не от самого MAME, но все результаты в Интернете не связаны с подпроцессами Python. Кто-нибудь когда-нибудь пробовал что-то подобное раньше?
Мне просто интересно, какая разница между оболочкой и подпроцессом может привести к этому. И в идеале, как я могу это исправить.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-it-as-p