Почему существует разница между запуском MAME из оболочки и запуском его как подпроцесса Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему существует разница между запуском MAME из оболочки и запуском его как подпроцесса Python?

Сообщение Anonymous »

Я пытался автоматизировать рендеринг файлов .wav из эмулятора MAME с помощью сценария Python.
Моя цель — создать небольшой веб-сайт, на который можно было бы поместить мой файл .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)
Ошибки здесь, по-видимому, не имеют значения, поскольку при этом файл render.wav будет создан правильно.
Я не нашел в Интернете ресурсов по этой конкретной теме. проблема. Сообщение об ошибке, похоже, исходит от snapd, а не от самого MAME, но все результаты в Интернете не связаны с подпроцессами Python. Кто-нибудь когда-нибудь пробовал что-то подобное раньше?
Мне просто интересно, какая разница между оболочкой и подпроцессом может привести к этому. И в идеале, как я могу это исправить.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-it-as-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»