问题描述
最近使用WSL2,挂了代理后,在~/.bashrc中设置了以下环境变量
export ALL_PROXY="http://172.29.48.1:7890"
export HTTP_PROXY="http://172.29.48.1:7890"
export HTTPS_PROXY="http://172.29.48.1:7890"
测试后,可以在WSL2环境中连接代理了,一切似乎都正常
然而使用Jupyter Notebook(通过Vscode插件)后,发现竟然连不上VPN,即以下命令会失败
!curl https://huggingface.co/
排查发现,在notebook里并不会加载~/.bashrc中的环境变量,参考https://github.com/microsoft/vscode-jupyter/issues/8270
并且在Notebook中使用!export的方式也是无效的,可以通过以下代码来验证
import os
os.getenv("ALL_PROXY")
解决方案
最后发现,必须使用魔术方法%env来设置才能起效果,即
%env ALL_PROXY=http://172.29.48.1:7890
%env HTTP_PROXY=http://172.29.48.1:7890
%env HTTPS_PROXY=http://172.29.48.1:7890
再次运行curl,发现解决