пробовал
file = open('test_input_1')
fileout = open('asd.txt', 'w')
p = subprocess.Popen([sys.executable, 'solution.py'], stdin=file, stdout=fileout)
и так
p = subprocess.Popen(['/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6', 'solution.py'], stdin=file, stdout=fileout)
и так
p = subprocess.Popen(['/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6', '/Users/alexander/repos/station-figaro00/src/solution.py'], stdin=file, stdout=fileout, stderr=fileerr)
сам файл solution.py
str = input().split(' ')
print(int(str[0]) + int(str[1]))
нет вывода ни в stdout ни в stderr
но если прописать в терминале код выполняется
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/alexander/repos/station-figaro00/src/
рабоать начинает только если явно в solution.py указать путь до python интерпретатора
#!/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
str = input().split(' ')
print(int(str[0]) + int(str[1]))
Вопрос, что я неправильно делаю при запуске subprocess? (я думаю, subprocess при таком поведении как-то пробует запустить все аргументы переданные ему, а не первый аргемент как программу и остальные как её аргументы )