У меня самый простой script, называемый update.sh
#!/bin/sh
cd /home/pi/circulation_of_circuits
git pull
Когда я вызываю это из терминала с помощью ./update.sh
, я получаю Уже обновленный или он обновляет файлы, как ожидалось.
У меня также есть python script, внутри которого scipt:
subprocess.call(['./update.sh'])
Когда это вызывает тот же script, я получаю:
Отказано в доступе (публикация). fatal: Не удалось прочитать из удаленного репозитория.
Пожалуйста, убедитесь, что у вас есть правильные права доступа и существует репозиторий.
(Я использую SSH).
----------------- обновление --------------------
Кто-то еще посмотрел на меня:
ОК, так что прогресс. Когда я загружаю ваш образ, я не могу запустить git втянуть ваш каталог репо и bash script также не работает. Это кажется потому что репозиторий bitbucket является конфиденциальным и требует аутентификации для pull (тот, который я использовал, был общедоступным, так что у меня не было вопросы). Предположительно git запоминает это после того, как вы введете его в первый время, bash как-то трюки git, думая, что вы печатаете command, но запуск его из python не является тем же.
Я не эксперт git, но должен быть какой-то способ настроить это так python может обеспечить аутентификацию.