У меня есть скрипт, управляющий командами mp c с python3. Я использую subprocess.check_output для получения информации:
s = (subprocess.check_output("mpc current -f %title%", shell=True,encoding = 'utf-8'))
Это хорошо работает и дает мне значение в виде строки.
Попытка установить службу для сценария завершается неудачно с ошибкой:
File "/usr/lib/python2.7/subprocess.py", line 216, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'encoding'
Тот же результат (рабочий скрипт, сбой службы) с 'text = true' вместо 'encoding =' utf8 ''.
Почему вместо подпроцесса используется python2 .7 python3? Во второй строке скрипта у меня есть
# -*- coding: utf-8 -*-
Версия Python равна 3.7.3