我在我的项目中使用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=
如果您使用的是Bash shell
,可以将~/.bashrc
export PYTHONPATH=
添加,然后使用以下命令重新加载~/.bashrc
:
$ source ~/.bashrc
这样你就不必每次都手动输入export PYTHONPATH=
。
问题是你的pre-commit
或你post-commit
挂钩使用Python 2.7。
你应该在编辑器中打开每一个,看看他们是否正在使用Python 2.7(通过查看shebang),自定义版本,或/usr/bin/python
, /usr/bin/python2
,或/usr/bin/python2.7
。 如果是这样,你应该将它转换为使用适当的shebang的Python 3或删除它(只需删除它就足够了)。
如果它来自另一个项目或存储库,您可以尝试重新安装该项目的Python 3版本,这可能会安装您的钩子的Python 3版本。