我想使用brew 为 python 3.6.8 安装预提交。我正在使用 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
. 我也有一个pre-commit
里面的文件夹/usr/local/Cellar
。内部子文件夹中的一些路径/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 安装预提交以使其使用 python 3.6 而不是 python 3.9 的最佳方式是什么?
我看到了这个 brew precommit page。看起来brew install pre-commit
自动总是使用 python 3.9.0。
任何帮助将不胜感激。