Это мой сценарий предварительной фиксации:
#!/bin/bash
for f in .git/hooks/pre-commit.d/*; do
if [ -x "$f" ]; then
if ! "$f"; then
echo "DID NOT COMMIT YOUR CHANGES!";
exit 1
fi
fi
done
Одним из исполняемых файлов в pre-commit.d является сценарий python (pre-commit-pylint.py), который начинается с:
#!/usr/bin/env python
import pylint
Пилинт установлен на моем virtualenv.Моя проблема в том, что git запускает pre-commit preeding от /usr/libexec/git-core:/usr/bin
до $PATH
, поэтому, даже если мой virtualenv активирован, скрипт pre-commit.d/pre-commit-pylint.py
запускается с системой /usr/bin/python
(вместо работы с python virtualenv).
Я хочу иметь хуки, совместимые для разработчиков, которые не используют virtualenv.Можно ли как-нибудь прозрачно запустить мой скрипт на python с помощью virtualenv (т. Е. Оставаться совместимым с разработчиками, использующими свой системный python)?