git commit error: несоответствие версий между python 2 и python 3.7 - PullRequest
0 голосов
/ 29 мая 2019

Я использую Python 3.7 для своего проекта.Затем, когда я попытался сделать

edamame$ git commit --amend --no-edit

, я получил следующую ошибку (хотя git status работает нормально):

Your PYTHONPATH points to a site-packages dir for Python 3.x but you are running Python 2.x!
     PYTHONPATH is currently: "/Users/edamame/tools/sim/scripting/:/usr/local/lib/python3.7/:/usr/local/lib/python3.7/site-packages/"
     You should `unset PYTHONPATH` to fix this.

Я попробовал следующее, но не повезло:

edamame$ pip3 install git

Collecting git
  Could not find a version that satisfies the requirement git (from versions: )
No matching distribution found for git

Так что мне приходится каждый раз устанавливать PYTHONPATH вручную, как показано ниже, что очень неудобно.Любой совет?Спасибо!

edamame$ export PYTHONPATH=

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Проблема в том, что ваш pre-commit или post-commit хук используют Python 2.7.

Вы должны открыть каждый из них в редакторе и посмотреть, используют ли они Python 2.7 (глядя на shebang), либо пользовательскую версию, либо одну из /usr/bin/python, /usr/bin/python2 или /usr/bin/python2.7.Если это так, вам следует преобразовать его в Python 3 с соответствующим заголовком или удалить его (достаточно просто удалить его).

Если он пришел из другого проекта или репозитория, вы можете попробовать переустановить версию Python 3этот проект вместо этого, который, вероятно, установит версию вашего хука на Python 3.

0 голосов
/ 30 мая 2019

Если вы используете Bash shell, вы можете добавить export PYTHONPATH= к вашему ~/.bashrc, а затем перезагрузить ~/.bashrc с помощью следующей команды:

$ source ~/.bashrc

Таким образом, вам не нужно будет вводитьexport PYTHONPATH= каждый раз вручную.

...