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

文章目录

    • 1. 通过系统环境变量配置代理
      • 步骤一:打开终端
      • 步骤二:编辑 `~/.bashrc` 文件
      • 步骤三:添加代理环境变量
      • 步骤四:保存并关闭文件
      • 步骤五:使配置生效
      • 步骤六:重启相关应用
      • 步骤七:使用代理函数
    • 2. 在 VSCode 中配置代理
      • 步骤一:打开设置界面
      • 步骤二:搜索代理设置
      • 步骤三:添加代理配置
      • 步骤四:保存并重启 VSCode
    • 3. 在 PyCharm 中配置代理
      • 步骤一:打开设置界面
      • 步骤二:找到 HTTP 代理设置
      • 步骤三:配置代理
      • 步骤四:测试连接(可选)
      • 步骤五:保存设置并重启 PyCharm
    • 4. 在 Jupyter Notebook 中配置代理
      • 步骤一:打开 Jupyter Notebook
      • 步骤二:创建或打开一个 Notebook
      • 步骤三:在 Notebook 中设置代理
      • 步骤四:验证代理设置
    • 5. 常见问题及解决方法
    • 总结
    • 参考文献

我在配置 Pycharm 和 Vscode 代理的过程中,代理老是不 work,查了多篇博客文档,终于搞出了一套完整的方案流程。可以在 Ubuntu 系统中,为 Visual Studio Code (VSCode)、PyCharm 的终端以及 Jupyter Notebook 配置代理。


1. 通过系统环境变量配置代理

某些开发工具可能无法通过自身的设置界面正确识别代理配置,或者仅能覆盖部分请求。这时,通过系统环境变量来统一配置代理可以让所有终端和应用程序自动继承代理设置,避免重复配置或发生冲突。

步骤一:打开终端

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

步骤四:保存并关闭文件

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

步骤五:使配置生效

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

source ~/.bashrc

步骤六:重启相关应用

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

步骤七:使用代理函数

  • 开启代理:

    proxy_on
    

    显示:

    代理已开启
    
  • 关闭代理:

    proxy_off
    

    显示:

    代理已关闭
    

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


2. 在 VSCode 中配置代理

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

步骤一:打开设置界面

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

步骤二:搜索代理设置

  1. 在设置界面的搜索框输入 proxy
  2. 找到并点击 “编辑 settings.json”,这会直接打开 VSCode 的 settings.json 配置文件。

步骤三:添加代理配置

settings.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:

jupyter notebook

步骤二:创建或打开一个 Notebook

进入 Jupyter Notebook 后,新建或打开一个现有的 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 内容(如 <!doctype html>),则说明代理已生效。


5. 常见问题及解决方法

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

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

    • 如果你的代理服务器需要用户名和密码,可以在配置文件中加入认证信息,例如:
      "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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953158.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows 10 ARM工控主板连接I2S音频芯片

在Windows工控主板应用中&#xff0c;音频功能是一项基本的需求&#xff0c;USB声卡在x86/x64 Windows系统上就可直接免驱使用&#xff0c;但这些USB声卡通常不提供ARM上的Windows系统驱动。本文将介绍如何利用安装在ARM上的Windows工控主板——ESM8400的I2S接口、连接WM8960音…

【Rust】错误处理机制

目录 思维导图 引言 一、错误处理的重要性 1.1 软件中的错误普遍存在 1.2 编译时错误处理要求 二、错误的分类 2.1 可恢复错误&#xff08;Recoverable Errors&#xff09; 2.2 不可恢复错误&#xff08;Unrecoverable Errors&#xff09; 三、Rust 的错误处理机制 3…

提升租赁效率的租赁小程序全解析

内容概要 在如今快节奏的生活中&#xff0c;租赁小程序俨然成为了提升租赁效率的一把利器。无论是个人还是企业&#xff0c;都会因其便捷的功能而受益。简单来说&#xff0c;租赁小程序能让繁琐的租赁流程变得轻松、高效。在这里&#xff0c;我们将带您畅游租赁小程序的海洋&a…

SSM商城设计与实现

摘 要 本文的主要工作是对基于B/S模式及JSP技术的基于智能推荐的b2c销售网站进行了研究与设计。本文首先介绍了基于智能推荐的b2c销售网站的背景&#xff0c;分析比较了国内外相关基于智能推荐的b2c销售网站的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应用开…

drawDB docker部属

docker pull xinsodev/drawdb docker run --name some-drawdb -p 3000:80 -d xinsodev/drawdb浏览器访问&#xff1a;http://192.168.31.135:3000/

CentOS7下Hadoop集群分布式安装详细图文教程

1、集群规划 主机 角色 DSS20 NameNode DataNode ResourceManager NodeManager DSS21 SecondaryNameNode NameNode NodeManager DSS22 DataNode NodeManager 1.1、环境准备 1.1.1 关闭防火墙 #查看防火墙状态 firewall-cmd --state #停止…

计算机网络——网络层-IPV4相关技术

一、网络地址转换NAT • 网络地址转换 NAT 方法于1994年提出。 • 需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器&#xff0c;它至少有一个有效的外部全球地址 IPG。 • 所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将…

postgresql|数据库|利用sqlparse和psycopg2库批量按顺序执行SQL语句(psyconpg2新优化版本)

一、 旧版批量执行SQL脚本的python文件缺点&#xff0c;优点&#xff0c;以及更新内容 书接上回&#xff0c;postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)_python sql psycopg2-CSDN博客 这个python脚本写了很久了&#xff0c;最近开始…

Node.js——http 模块(二)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

基于element UI el-dropdown打造表格操作列的“更多⌵”上下文关联菜单

<template><div :class"$options.name"><el-table :data"tableData"><el-table-column type"index" label"序号" width"60" /><!-- 主要列 BEGIN---------------------------------------- --&g…

javascrip基础语法

为什么学习 JavaScript? JavaScript 是 web 开发人员必须学习的 3 门语言中的一门&#xff1a; HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 控制了网页的行为 1. JavaScript 输出 1.1 console.log()&#xff1a;用于将信息输出到浏览器控制台&#xff0c;例如con…

大语言模型预训练、微调、RLHF

转发&#xff0c;如有侵权&#xff0c;请联系删除&#xff1a; 1.【LLM】3&#xff1a;从零开始训练大语言模型&#xff08;预训练、微调、RLHF&#xff09; 2.老婆饼里没有老婆&#xff0c;RLHF里也没有真正的RL 3.【大模型微调】一文掌握7种大模型微调的方法 4.基于 Qwen2.…

django基于Python的校园个人闲置物品换购平台

Django 基于 Python 的校园个人闲置物品换购平台 一、平台概述 Django 基于 Python 的校园个人闲置物品换购平台是专为校园师生打造的一个便捷、环保且充满活力的线上交易场所。它借助 Django 这一强大的 Python Web 开发框架&#xff0c;整合了校园内丰富的闲置物品资源&…

abap安装cl_json类

文章来自 SAP根据源码导入/ui2/cl_json类 - pikeduo - 博客园 新建一个se38程序&#xff0c;把源码放到里&#xff0c;源码如下 *----------------------------------------------------------------------* * CLASS zcl_json DEFINITION *----------------------------…

[OPEN SQL] ORDER BY排序数据

本次操作使用的数据库表为SFLIGHT&#xff0c;其字段内容如下所示 航班(SFLIGHT) 该数据库表中的部分值如下所示 OPEN SQL中的ORDER BY语句用于对数据库表中的数据进行排序 在查询数据的时候使用ORDER BY语句&#xff0c;则查询出来的结果会按照ORDER BY指定的字段进行排序 排序…

STM32F103ZET6战舰版单片机开发板PCB文件 电路原理图

资料下载地址&#xff1a;STM32战舰版单片机开发板PCB文件 电路原理图 1、原理图 2、PCB 3、板子介绍 一、核心芯片与性能 核心芯片&#xff1a;STM32F103ZET6&#xff0c;这是一款基于ARM Cortex-M3内核的高性能单片机。处理器频率&#xff1a;高达72MHz&#xff0c;确保了…

An FPGA-based SoC System——RISC-V On PYNQ项目复现

本文参考&#xff1a; &#x1f449; 1️⃣ 原始工程 &#x1f449; 2️⃣ 原始工程复现教程 &#x1f449; 3️⃣ RISCV工具链安装教程 1.准备工作 &#x1f447;下面以LOCATION代表本地源存储库的安装目录&#xff0c;以home/xilinx代表在PYNQ-Z2开发板上的目录 ❗ 下载Vivad…

GAN的应用

5、GAN的应用 ​ GANs是一个强大的生成模型&#xff0c;它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布&#xff0c;也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…

centos9设置静态ip

CentOS 9 默认使用 NetworkManager 管理网络&#xff0c;而nmcli是 NetworkManager 命令行接口的缩写&#xff0c;是一个用来进行网络配置、管理网络连接的命令工具&#xff0c;可以简化网络设置&#xff0c;尤其是在无头&#xff08;没有图形界面&#xff09;环境下。 1、 cd…

Idea日志乱码

问题描述 前提&#xff1a;本人使用windows Idea运行sh文件&#xff0c;指定了utf-8编码&#xff0c;但是运行过程中还是存在中文乱码 Idea的相关配置都已经调整 字体调整为雅黑 文件编码均调整为UTF-8 调整Idea配置文件 但是还是存在乱码&#xff0c;既然Idea相关配置已经…