文章目录
-
- [1. 通过系统环境变量配置代理](#1. 通过系统环境变量配置代理)
-
- 步骤一:打开终端
- [步骤二:编辑 `~/.bashrc` 文件](#步骤二:编辑
~/.bashrc
文件) - 步骤三:添加代理环境变量
- 步骤四:保存并关闭文件
- 步骤五:使配置生效
- 步骤六:重启相关应用
- 步骤七:使用代理函数
- [2. 在 VSCode 中配置代理](#2. 在 VSCode 中配置代理)
-
- 步骤一:打开设置界面
- 步骤二:搜索代理设置
- 步骤三:添加代理配置
- [步骤四:保存并重启 VSCode](#步骤四:保存并重启 VSCode)
- [3. 在 PyCharm 中配置代理](#3. 在 PyCharm 中配置代理)
-
- 步骤一:打开设置界面
- [步骤二:找到 HTTP 代理设置](#步骤二:找到 HTTP 代理设置)
- 步骤三:配置代理
- 步骤四:测试连接(可选)
- [步骤五:保存设置并重启 PyCharm](#步骤五:保存设置并重启 PyCharm)
- [4. 在 Jupyter Notebook 中配置代理](#4. 在 Jupyter Notebook 中配置代理)
-
- [步骤一:打开 Jupyter Notebook](#步骤一:打开 Jupyter Notebook)
- [步骤二:创建或打开一个 Notebook](#步骤二:创建或打开一个 Notebook)
- [步骤三:在 Notebook 中设置代理](#步骤三:在 Notebook 中设置代理)
- 步骤四:验证代理设置
- [5. 常见问题及解决方法](#5. 常见问题及解决方法)
- 总结
- 参考文献
我在配置 Pycharm 和 Vscode 代理的过程中,代理老是不 work,查了多篇博客文档,终于搞出了一套完整的方案流程。可以在 Ubuntu 系统中,为 Visual Studio Code (VSCode)、PyCharm 的终端以及 Jupyter Notebook 配置代理。
1. 通过系统环境变量配置代理
某些开发工具可能无法通过自身的设置界面正确识别代理配置,或者仅能覆盖部分请求。这时,通过系统环境变量来统一配置代理可以让所有终端和应用程序自动继承代理设置,避免重复配置或发生冲突。
步骤一:打开终端
在 Ubuntu 系统中,先打开终端应用程序。
步骤二:编辑 ~/.bashrc
文件
使用文本编辑器打开 ~/.bashrc
文件,例如:
bash
vim ~/.bashrc
步骤三:添加代理环境变量
在文件末尾添加以下内容(请根据实际代理地址/端口进行修改):
bash
# 代理设置
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
的修改。
步骤五:使配置生效
运行以下命令,使之前的修改立即生效:
bash
source ~/.bashrc
步骤六:重启相关应用
关闭并重新启动 VSCode、PyCharm 及其终端,确保它们继承了新的环境变量。
步骤七:使用代理函数
-
开启代理:
bashproxy_on
显示:
代理已开启
-
关闭代理:
bashproxy_off
显示:
代理已关闭
这一步能让你在有需要时一键启用或停用代理,十分方便。
2. 在 VSCode 中配置代理
VSCode 本身也支持在应用内部进行代理配置,不过在一些环境中可能会与系统环境变量产生冲突。先尝试 VSCode 内置设置,若无效则可依赖前面介绍的系统环境变量方案。
步骤一:打开设置界面
- 启动 VSCode。
- 点击左下角的齿轮图标(⚙)。
- 在弹出的菜单中选择"设置"(Settings)。
步骤二:搜索代理设置
- 在设置界面的搜索框输入
proxy
。 - 找到并点击 "编辑 settings.json" ,这会直接打开 VSCode 的
settings.json
配置文件。
步骤三:添加代理配置
在 settings.json
文件中,添加或修改以下内容(同样根据实际代理信息调整):
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 证书验证错误(例如使用自签发证书时),但可能降低安全性。
步骤四:保存并重启 VSCode
保存 settings.json
文件后,重启 VSCode 以确保新设置生效。
注意: 如果仅通过 VSCode 的设置界面无法成功配置代理,可结合上述 系统环境变量 配置方法。
3. 在 PyCharm 中配置代理
PyCharm 作为 JetBrains 系列 IDE 的一员,也提供了内置的代理配置。若无法生效,建议回头检查系统环境变量的配置及继承情况。
步骤一:打开设置界面
- 启动 PyCharm。
- 依次点击 "文件" (File) > "设置"(Settings)。
步骤二:找到 HTTP 代理设置
- 在左侧菜单中,依次展开 "外观与行为" (Appearance & Behavior) > "系统设置"(System Settings)。
- 点击 "HTTP 代理"(HTTP Proxy)。
步骤三:配置代理
- 在代理配置页面选择 "手动代理配置"(Manual proxy configuration)。
- 填写以下信息:
- 主机名 (Host name):
127.0.0.1
- 端口号 (Port):
7890
- 主机名 (Host name):
步骤四:测试连接(可选)
点击 "检查连接" (Check connection),输入:https://huggingface.co/
后点击 ok
, 若显示 Connection successful
则说明连接正常,代理配置成功。
步骤五:保存设置并重启 PyCharm
点击 "确定" (OK)保存后,重启 PyCharm 以确保代理设置生效。
注意: 如若 PyCharm 内置设置依旧无效,请务必确保已按前文说明正确设置 系统环境变量。
4. 在 Jupyter Notebook 中配置代理
Jupyter Notebook 运行在独立的 Python 环境中,通常需要在 Notebook 内部单独设置代理,才能顺利进行网络请求(比如下载数据或者访问外部 API)。
步骤一:打开 Jupyter Notebook
在终端执行以下命令,启动 Jupyter Notebook:
bash
jupyter notebook
步骤二:创建或打开一个 Notebook
进入 Jupyter Notebook 后,新建或打开一个现有的 Notebook 文件。
步骤三:在 Notebook 中设置代理
在新代码单元中,输入并执行以下命令(自行替换为实际的代理地址和端口):
python
%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 中执行:
python
!curl https://huggingface.co/
若返回 HTML 内容(如 <!doctype html>
),则说明代理已生效。
5. 常见问题及解决方法
-
通过开发工具界面配置代理无效
- 解决方法:优先检查系统环境变量,确认终端中
echo $http_proxy
显示正确。若依然无法正常访问,重启相关应用程序或终端后再试。
- 解决方法:优先检查系统环境变量,确认终端中
-
代理需要身份认证
-
如果你的代理服务器需要用户名和密码,可以在配置文件中加入认证信息,例如:
json"http.proxy": "http://username:password@127.0.0.1:7890"
-
但此举会在明文中暴露凭证,请小心使用。
-
-
SSL 证书验证错误
- 可以在 VSCode 的
settings.json
中将http.proxyStrictSSL
设为false
来绕过 SSL 检查;PyCharm 等工具也有类似选项。但这样做会降低安全性,建议谨慎评估。
- 可以在 VSCode 的
-
终端命令无法通过代理
- 检查
~/.bashrc
中的代理变量,或重新执行source ~/.bashrc
。 - 如果使用 Zsh 等其他 Shell,需要同时在
~/.zshrc
中添加并加载相应代理变量。
- 检查
总结
在 Ubuntu 系统中为 VSCode、PyCharm 以及 Jupyter Notebook 配置代理,最简便且通用的做法是先配置系统环境变量,以便工具自动继承;然后再根据具体需求,在各个 IDE 或 Notebook 内进行微调。
- 首选 :在
~/.bashrc
中设置http_proxy
、https_proxy
和ALL_PROXY
等变量,并执行source ~/.bashrc
,使之即时生效。 - 若某些工具无法读取系统环境变量,可在其内置的设置界面进行代理配置,或者在 Notebook 内部通过
%env
命令进行覆盖。
这样,就能最大限度地减少在不同工具间来回切换配置的麻烦。
参考文献
Pycharm 运行和终端都无法走代理 - ProteinCode - 博客园
[踩坑]Vscode的jupyter notebook设置代理 - usamimeri - CSDN