Home > 4-注意!小心踩坑!! > git commit 时 pre-commit 提示 ImportError: No module named urllib3

git commit 时 pre-commit 提示 ImportError: No module named urllib3

这个问题的根源在于:Conda 和 Virtualenv!!!一定要先装 Virtualenv 再装 Miniconda

如果你提前看到了这个问题,请先安装 Pre-commit(会作为依赖安装 Virtualenv) 再安装 Conda!!!

如果你不幸和我一样先装了 Miniconda 然后安装的 Pre-commit,就会遇到标题中的问题,原因是我们 ssh 登录系统后会进入一个默认的 conda 环境 venv 中,pre-commit 需要 virtualenv,virtualenv 会安装一些依赖,这是时仍然在 venv 的 conda 环境中,所以就出了问题,解决办法如下:

  1. 先退出 venv 环境
    source deactivate venv
  2. 然后 commit,此时 pre-commit 会第一次初始化环境,可能需要几分钟时间
  3. 然后在重新进入 venv 或者退出重新 ssh 登录系统就好了

以后 commit 代码就可以正常调用 pre-commit 了。

 

发表评论