git commit错误:python 2和python 3.7之间的版本不一致

时间:2019-05-29 17:16:30

标签: python-3.x git python-2.7 pre-commit-hook

我正在为项目使用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 :(得分:0)

如果您使用的是Bash shell,则可以将export PYTHONPATH=添加到~/.bashrc中,然后使用以下命令重新加载~/.bashrc

$ source ~/.bashrc

这样,您不必每次都手动输入export PYTHONPATH=

答案 1 :(得分:0)

问题是您的pre-commitpost-commit钩子都使用Python 2.7。

您应该在编辑器中打开每个窗口,并查看它们是否正在使用Python 2.7(通过查看shebang),定制版本还是/usr/bin/python/usr/bin/python2或其中之一/usr/bin/python2.7。如果是这样,您应该将其转换为使用具有适当shebang的Python 3或将其删除(只需删除即可)。

如果它来自另一个项目或存储库,则可以尝试重新安装该项目的Python 3版本,这很可能会安装您的hook的Python 3版本。