(经过验证)在 Ubuntu 系统中为 VSCode、PyCharm 终端及 Jupyter Notebook 配置代理的完整方案

文章目录

我在配置 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_proxyhttps_proxy 分别用于配置 HTTP 和 HTTPS 请求的代理。
  • ALL_PROXY 用于配置所有协议的代理(如 SOCKS5)。
  • proxy_onproxy_off 函数方便在需要时快速开启或关闭代理,而不必反复编辑环境变量。

步骤四:保存并关闭文件

退出编辑器前记得保存对 ~/.bashrc 的修改。

步骤五:使配置生效

运行以下命令,使之前的修改立即生效:

bash 复制代码
source ~/.bashrc

步骤六:重启相关应用

关闭并重新启动 VSCode、PyCharm 及其终端,确保它们继承了新的环境变量。

步骤七:使用代理函数

  • 开启代理:

    bash 复制代码
    proxy_on

    显示:

    复制代码
    代理已开启
  • 关闭代理:

    bash 复制代码
    proxy_off

    显示:

    复制代码
    代理已关闭

这一步能让你在有需要时一键启用或停用代理,十分方便。


2. 在 VSCode 中配置代理

VSCode 本身也支持在应用内部进行代理配置,不过在一些环境中可能会与系统环境变量产生冲突。先尝试 VSCode 内置设置,若无效则可依赖前面介绍的系统环境变量方案。

步骤一:打开设置界面

  1. 启动 VSCode。
  2. 点击左下角的齿轮图标(⚙)。
  3. 在弹出的菜单中选择"设置"(Settings)。

步骤二:搜索代理设置

  1. 在设置界面的搜索框输入 proxy
  2. 找到并点击 "编辑 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.proxyhttps.proxy 分别针对 HTTP 和 HTTPS 请求设置代理。
  • http.proxyStrictSSL 设为 false 可忽略 SSL 证书验证错误(例如使用自签发证书时),但可能降低安全性。

步骤四:保存并重启 VSCode

保存 settings.json 文件后,重启 VSCode 以确保新设置生效。

注意: 如果仅通过 VSCode 的设置界面无法成功配置代理,可结合上述 系统环境变量 配置方法。


3. 在 PyCharm 中配置代理

PyCharm 作为 JetBrains 系列 IDE 的一员,也提供了内置的代理配置。若无法生效,建议回头检查系统环境变量的配置及继承情况。

步骤一:打开设置界面

  1. 启动 PyCharm。
  2. 依次点击 "文件" (File) > "设置"(Settings)。

步骤二:找到 HTTP 代理设置

  1. 在左侧菜单中,依次展开 "外观与行为" (Appearance & Behavior) > "系统设置"(System Settings)。
  2. 点击 "HTTP 代理"(HTTP Proxy)。

步骤三:配置代理

  1. 在代理配置页面选择 "手动代理配置"(Manual proxy configuration)。
  2. 填写以下信息:
    • 主机名 (Host name):127.0.0.1
    • 端口号 (Port):7890

步骤四:测试连接(可选)

点击 "检查连接" (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. 常见问题及解决方法

  1. 通过开发工具界面配置代理无效

    • 解决方法:优先检查系统环境变量,确认终端中 echo $http_proxy 显示正确。若依然无法正常访问,重启相关应用程序或终端后再试。
  2. 代理需要身份认证

    • 如果你的代理服务器需要用户名和密码,可以在配置文件中加入认证信息,例如:

      json 复制代码
      "http.proxy": "http://username:password@127.0.0.1:7890"
    • 但此举会在明文中暴露凭证,请小心使用。

  3. SSL 证书验证错误

    • 可以在 VSCode 的 settings.json 中将 http.proxyStrictSSL 设为 false 来绕过 SSL 检查;PyCharm 等工具也有类似选项。但这样做会降低安全性,建议谨慎评估。
  4. 终端命令无法通过代理

    • 检查 ~/.bashrc 中的代理变量,或重新执行 source ~/.bashrc
    • 如果使用 Zsh 等其他 Shell,需要同时在 ~/.zshrc 中添加并加载相应代理变量。

总结

在 Ubuntu 系统中为 VSCode、PyCharm 以及 Jupyter Notebook 配置代理,最简便且通用的做法是先配置系统环境变量,以便工具自动继承;然后再根据具体需求,在各个 IDE 或 Notebook 内进行微调。

  • 首选 :在 ~/.bashrc 中设置 http_proxyhttps_proxyALL_PROXY 等变量,并执行 source ~/.bashrc,使之即时生效。
  • 若某些工具无法读取系统环境变量,可在其内置的设置界面进行代理配置,或者在 Notebook 内部通过 %env 命令进行覆盖。

这样,就能最大限度地减少在不同工具间来回切换配置的麻烦。


参考文献

Pycharm 运行和终端都无法走代理 - ProteinCode - 博客园
[踩坑]Vscode的jupyter notebook设置代理 - usamimeri - CSDN


相关推荐
简宸~39 分钟前
VS Code + LaTex + SumatraPDF联合使用指南
java·vscode·latex·sumatrapdf
²º²²এ松1 小时前
vs code连接ubuntu esp项目
linux·数据库·ubuntu
2501_916007472 小时前
在非 Xcode 环境下完成苹果开发编译的记录 iOS 编译与调试
ide·vscode·ios·cocoa·个人开发·xcode·敏捷流程
徒 花3 小时前
ubuntu远程连接ssh及VSCode配置远程ssh连接ubuntu
vscode·ubuntu·ssh
十五年专注C++开发3 小时前
Linux 下用 VS Code 高效调试
linux·运维·服务器·c++·vscode
i建模4 小时前
在Ubuntu中解压ZIP文件
linux·chrome·ubuntu
林鸿群5 小时前
Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)
linux·ubuntu·gitlab·私有部署·代码托管·ubuntu 26.04·omnibus
小白学大数据5 小时前
如何判断网站流量飙升是搜索引擎爬虫导致的?
爬虫·scrapy·搜索引擎·pycharm
YuQiao03036 小时前
国内安装claude code
ubuntu·claude·vibe coding
Jiozg6 小时前
ES安装到linux(ubuntu)
linux·ubuntu·elasticsearch