pre-commit не может найти python3, установленный с pyenv - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть сценарий (предварительная фиксация из этого git-репо ) - который я пытаюсь использовать для включения файлов эскизов команды разработчиков в git-репо - который использует модуль python3 json.tool для предварительной проверки(python3 важен, потому что его json.tool не сортирует выходные данные) файлы json, извлеченные из файлов скетча.

все дизайнеры работают над macs, который поставляется с python, установленным системой и для системы,но не ту версию, которую мы хотим использовать.после некоторых исследований лучший способ установки и управления python3, по-видимому, использовал homebrew для установки pyenv .это позволяет использовать python3, который не должен конфликтовать с системным python.

Теперь, когда у нас установлен python3, мы можем проверить команду python3 -m json.tool, передаваемую в желаемые входные и выходные файлы.в терминале это работает как положено, но при запуске с использованием скрипта во время коммита мы получаем ошибку вывода:

Processing 'test.sketch'.
  'test.sketch' unzipped.
.githooks/pre-commit: line 80: python3: command not found
  Couldn't prettify './document.json'.

Я сам не разработчик, и разработчики, с которыми я работаю, не знают, почему этоповедение происходит.они не пользователи mac / unix / linix и не знакомы со сценариями bash.

ищет ответ на вопрос, с которым я столкнулся, по нескольким связанным вопросам обмена стеками:

некоторые из тех, которые я недостаточно хорошо понимаю, чтобы понять, решают ли они мою проблему, и того, который я делаю (последний), недостаточно, потому чтоСценарии должны быть запущены на разных компьютерах, которые будут иметь разные пути для Python3.мы включили скрипты в репозиторий git, чтобы было проще добавлять новых дизайнеров в команду, если нам это нужно.поэтому сценарии должны быть в состоянии работать универсально.

предварительное преобразование не является необходимым, и сейчас мы идем без него, но мы бы предпочли зафиксировать предварительно проверенный JSON.Как мы можем отредактировать скрипт или нашу среду, чтобы python3 запускал json.tool без изменения общей функции скрипта или без вмешательства в системный питон?

...