Проблема
подпроцесс.Popen не может открыть какой-либо файл в Терминале
Полный код
import subprocess
subprocess.Popen(
args=["open", "-F", "-a", "Terminal", r"bin/run.sh"],
cwd='../resources'
)
Сообщение об ошибке
«run.sh ”Не может быть открыт, потому что Sandbox не позволяет открывать документы в Терминале.
образ
Пробные отладки
Запуск сценария с sudo python3 показывает то же сообщение об ошибке.
Открытие другой программы с python работает. Например, работает этот код:
import subprocess
subprocess.Popen(
args=["open", "-F", "-a", "Microsoft Word", r"test.docx"],
cwd='../resources'
)
Попытка открыть другие файлы в Терминале также не работает.
Смена виртуальной среды не работает.
Я думаю, что проблема связана с разрешениями или настройками конфиденциальности, но я не могу найти, что не так.
ОБНОВЛЕНИЕ:
Python не находится в карантине (нет атрибута com.apple.quarantine)
Код также не работает при открытии с помощью python 2.7.16, который был установлен с ma c
Платформа
macOS Catalina версии 10.15.4
Информация о версии
Python 3.8.3