我在配置 Pycharm 和 Vscode 代理的过程中,代理老是不 work,查了多篇博客文档,终于搞出了一套完整的方案流程。可以在 Ubuntu 系统中,为 Visual Studio Code (VSCode)、PyCharm 的终端以及 Jupyter Notebook 配置代理。
某些开发工具可能无法通过自身的设置界面正确识别代理配置,或者仅能覆盖部分请求。这时,通过系统环境变量来统一配置代理可以让所有终端和应用程序自动继承代理设置,避免重复配置或发生冲突。
在 Ubuntu 系统中,先打开终端应用程序。
~/.bashrc
文件使用文本编辑器打开 ~/.bashrc
文件,例如:
vim ~/.bashrc
在文件末尾添加以下内容(请根据实际代理地址/端口进行修改):
# 代理设置
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export ALL_PROXY="socks5://127.0.0.1:7890"
# 启用代理函数
proxy_on() {
export http_proxy="http://127.0.0.1:7890"
export https_proxy="$http_proxy"
export ALL_PROXY="socks5://127.0.0.1:7890"
echo "代理已开启"
}
# 关闭代理函数
proxy_off() {
unset http_proxy
unset https_proxy
unset ALL_PROXY
echo "代理已关闭"
}
说明:
http_proxy
和 https_proxy
分别用于配置 HTTP 和 HTTPS 请求的代理。ALL_PROXY
用于配置所有协议的代理(如 SOCKS5)。proxy_on
和 proxy_off
函数方便在需要时快速开启或关闭代理,而不必反复编辑环境变量。退出编辑器前记得保存对 ~/.bashrc
的修改。
运行以下命令,使之前的修改立即生效:
source ~/.bashrc
关闭并重新启动 VSCode、PyCharm 及其终端,确保它们继承了新的环境变量。
开启代理:
proxy_on
显示:
代理已开启
关闭代理:
proxy_off
显示:
代理已关闭
这一步能让你在有需要时一键启用或停用代理,十分方便。
VSCode 本身也支持在应用内部进行代理配置,不过在一些环境中可能会与系统环境变量产生冲突。先尝试 VSCode 内置设置,若无效则可依赖前面介绍的系统环境变量方案。
proxy
。settings.json
配置文件。在 settings.json
文件中,添加或修改以下内容(同样根据实际代理信息调整):
{
"http.proxy": "http://127.0.0.1:7890",
"https.proxy": "http://127.0.0.1:7890",
"http.proxyStrictSSL": false
}
说明:
http.proxy
和 https.proxy
分别针对 HTTP 和 HTTPS 请求设置代理。http.proxyStrictSSL
设为 false
可忽略 SSL 证书验证错误(例如使用自签发证书时),但可能降低安全性。保存 settings.json
文件后,重启 VSCode 以确保新设置生效。
注意: 如果仅通过 VSCode 的设置界面无法成功配置代理,可结合上述 系统环境变量 配置方法。
PyCharm 作为 JetBrains 系列 IDE 的一员,也提供了内置的代理配置。若无法生效,建议回头检查系统环境变量的配置及继承情况。
127.0.0.1
7890
点击 “检查连接”(Check connection),输入:https://huggingface.co/
后点击 ok
, 若显示 Connection successful
则说明连接正常,代理配置成功。
点击 “确定”(OK)保存后,重启 PyCharm 以确保代理设置生效。
注意: 如若 PyCharm 内置设置依旧无效,请务必确保已按前文说明正确设置 系统环境变量。
Jupyter Notebook 运行在独立的 Python 环境中,通常需要在 Notebook 内部单独设置代理,才能顺利进行网络请求(比如下载数据或者访问外部 API)。
在终端执行以下命令,启动 Jupyter Notebook:
jupyter notebook
进入 Jupyter Notebook 后,新建或打开一个现有的 Notebook 文件。
在新代码单元中,输入并执行以下命令(自行替换为实际的代理地址和端口):
%env ALL_PROXY=http://127.0.0.1:7890
%env HTTP_PROXY=http://127.0.0.1:7890
%env HTTPS_PROXY=http://127.0.0.1:7890
说明:
%env
命令可以在当前 Notebook 进程中设置环境变量,影响所有后续请求。在 Notebook 中执行:
!curl https://huggingface.co/
若返回 HTML 内容(如 ),则说明代理已生效。
通过开发工具界面配置代理无效
echo $http_proxy
显示正确。若依然无法正常访问,重启相关应用程序或终端后再试。代理需要身份认证
"http.proxy": "http://username:[email protected]:7890"
SSL 证书验证错误
settings.json
中将 http.proxyStrictSSL
设为 false
来绕过 SSL 检查;PyCharm 等工具也有类似选项。但这样做会降低安全性,建议谨慎评估。终端命令无法通过代理
~/.bashrc
中的代理变量,或重新执行 source ~/.bashrc
。~/.zshrc
中添加并加载相应代理变量。在 Ubuntu 系统中为 VSCode、PyCharm 以及 Jupyter Notebook 配置代理,最简便且通用的做法是先配置系统环境变量,以便工具自动继承;然后再根据具体需求,在各个 IDE 或 Notebook 内进行微调。
~/.bashrc
中设置 http_proxy
、https_proxy
和 ALL_PROXY
等变量,并执行 source ~/.bashrc
,使之即时生效。%env
命令进行覆盖。这样,就能最大限度地减少在不同工具间来回切换配置的麻烦。
Pycharm 运行和终端都无法走代理 - ProteinCode - 博客园
[踩坑]Vscode的jupyter notebook设置代理 - usamimeri - CSDN