【发布时间】:2021-03-06 21:27:34
【问题描述】:
我想使用 brew 为 python 3.6.8 安装 pre-commit。我正在使用 macOS Catalina(版本 10.15.7)
我正在使用brew install pre-commit 进行安装。
我遇到了问题,因为我的预提交使用 Python 3.9,我想避免这种情况(即让 brew 预提交使用 python 3.6)。
当我尝试brew install pre-commit 时,我发现自动看到消息Downloading https://homebrew.bintray.com/bottles/python%403.9-3.9.0_2.catalina.bottle.tar.gz。
我所在的环境是python 3.6.8。 (python -V 返回python 3.6.8)。
还有,
username@USERNAME-M-F1AU % echo "$PATH"
/Users/username/.pyenv/shims:/Users/username/.pyenv/shims:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我也有,python 3.9 (python@3.9),(虽然它不是活动环境)在/usr/local/Cellar。我在/usr/local/Cellar 内还有一个pre-commit 的文件夹。 /usr/local/Cellar/pre-commit 内的子文件夹内的一些路径链接到 python 3.9。以下是相同的示例。
python3 -> ../../../../../opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9
python -> ../../../../../opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9
/usr/local/bin/pre-commit的第一行是:
#!/usr/local/Cellar/pre-commit/2.9.0/libexec/bin/python
我已经尝试过以下方法:
- 将 Python 环境更改为 Python 3.6。此处未解决问题(使用 python 3.9 预提交的符号链接)
- 删除缓存 (
rm -r /Users/username/.cache/pre-commit)。这里也发生了同样的事情(python 3.9 的预提交符号链接仍然存在)。 - 再次安装预提交(
rm -r /usr/local/Cellar/pre-commit后跟brew install pre-commit)。这里也发生了同样的事情(python 3.9 的预提交符号链接)。 - 使用下面显示的方法删除和重新调整符号链接。
ln -nfs /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/local/Cellar/pre-commit/2.9.0/libexec/bin/python
ln -nfs /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/local/Cellar/pre-commit/2.9.0/libexec/bin/python3
在这里,我收到以下错误/usr/local/Cellar/pre-commit/2.9.0/libexec/bin/python3: No module named pre_commit
我可以使用 brew 安装 pre-commit 以使其使用 python 3.6 而不是 python 3.9 的最佳方式是什么?
我看到了this brew precommit page。看起来 brew install pre-commit 自动总是使用 python 3.9.0。
任何帮助将不胜感激。
【问题讨论】:
标签: python git homebrew pre-commit pre-commit.com