原因分析
你是不是修改了项目或虚拟环境路径(当然不排除你重命名了虚拟环境)?那大概是因为当前虚拟环境脚本文件的 shebang 还保留修改前的文件路径,导致报错。你可以通过命令 head -1 <env-path>/bin/pip
检查 shebang 对应路径,从而验证是否为该原因所致。
解决方案
⚠️ 注意 :此例仅针对 Python 虚拟环境 shebang 失效问题,其它类似问题此例仅供参考。
# GNU/Linux
sed -i "s:$(head -1 <absolute-env-path>/bin/pip):#\!<absolute-env-path>/bin/python:" <absolute-env-path>/bin/*
# FreeBSD/MacOS
# gsed -i "s:$(head -1 <absolute-env-path>/bin/pip):#\!<absolute-env-path>/bin/python:" <env>/bin/*