一个修复python虚拟环境的脚本

有时候系统的python虚拟环境被破坏,你可能会遇到这种错误:

yld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/esp32/.espressif/python_env/idf4.1_py2.7_env/bin/python
  Reason: image not found

在github上找到一个修复方法,只需要建立一个shell脚本,比如~/fixenv.sh,内容如下:

#!/usr/bin/env bash
ENV_PATH="$(dirname "$(dirname "$(which pip)")")"
SYSTEM_VIRTUALENV="$(which -a virtualenv|tail -1)"

echo "Ensure the root of current virtualenv:"
echo "    $ENV_PATH"
read -p "‼️  Say no if you are not sure (y/N) " -n 1 -r
echo
PYEXC_DEF="$(sed -n '1s/^#!//p' $SYSTEM_VIRTUALENV)"
read -p "🐍  Choose which python to use? [$PYEXC_DEF] " PYEXC
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
    echo "♻️  Removing old symbolic links......"
    find "$ENV_PATH" -type l -delete -print
    echo "💫  Creating new symbolic links......"
    $SYSTEM_VIRTUALENV "$ENV_PATH" -p ${PYEXC:-$PYEXC_DEF}
    echo "🎉  Done!"
fi

然后chmod +x ~/fixenv.sh && ~/fixenv.sh,根据提示选择对应的python虚拟环境和原始环境(我的是/usr/local/bin/python)即可:

~/fixenv.sh
Ensure the root of current virtualenv:
    /Users/esp32/.espressif/python_env/idf4.1_py2.7_env
‼️  Say no if you are not sure (y/N) y
🐍  Choose which python to use? [/Users/simonliu/.pyenv/shims/python] /usr/local/bin/python

资料来源:
https://gist.github.com/tevino/1a557a0c200d61d4e4fb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值