ru: python3.9: Такого файла или каталога нет

#python #macos #homebrew #pre-commit #pre-commit.com

Вопрос:

У меня есть некоторые формататоры кода python в качестве крючка предварительной фиксации git, и я изменил свою версию python следующим образом

 brew list | grep python
python@3.7
python@3.9

brew unlink python@3.7
brew unlink python@3.9
brew link python@3.7

python -V
Python 3.7.9
 

и знаете , кажется, что-то сломалось, и на git commit я получаю env: python3.9: No such file or directory , так что же это env ? и как я могу отредактировать его для использования python@3.7 ?

Комментарии:

1. Я бы предложил проверить код на наличие крючков перед фиксацией, так как большинство сценариев на Python начинаются с такой строки, как #!/usr/bin/env python . У вас может быть что-то подобное #!/usr/bin/env python3.9 там. Вы можете попытаться изменить его на #!/usr/bin/env python3.7 , но я не могу заверить вас, что он будет работать без проблем, так как некоторые функции Python 3.9 могут использоваться сценариями.

2. Что касается env команды «Это оболочка», которая запускает программы в измененной среде. Вы можете проверить некоторую информацию об этом, запустив команду man env в Linux/Unix.

3. linux.die.net/man/1/env

4. (догадка) если вы используете [pre-commit.com] запустите pre-commit install , и это исправит вашу ошибку, указав на вашу новую глобальную версию python

Ответ №1:

Во .git/hooks/pre-commit мне есть

 #!/usr/bin/env python3.9
 

и бег pre-commit install исправил это на #!/usr/bin/env python3.7