(经过验证)在 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_proxyunset https_proxyunset ALL_PROXYecho "代理已关闭"
}

说明:

  • 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


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探讨 Vue.js 的动态组件渲染与性能优化

Vue.js 作为一款前端领域中备受欢迎的渐进式框架&#xff0c;以其简单优雅的 API 和灵活性受到开发者的喜爱。在开发复杂应用时&#xff0c;动态组件渲染是一项极其重要的技术&#xff0c;它能够在页面中动态地加载或切换组件&#xff0c;从而显著提升应用的灵活性与用户体验。…

回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测

回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测 目录 回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 RVM-Adaboost相关向量机集成学习多输入单输出回归预测是一种先进…

Linux(Centos7)安装Mysql/Redis/MinIO

安装Mysql 安装Redis 搜索Redis最先版本所在的在线安装yum库 查看以上两个组件是否是开机自启 安装MinIO 开源的对象存储服务&#xff0c;存储非结构化数据&#xff0c;兼容亚马逊S3协议。 minio --help #查询命令帮助minio --server --help #查询--server帮助minio serve…

MySQL批量修改数据表编码及字符集为utf8mb4

​​​​​​MySQL批量修改数据表编码及字符集为utf8mb4 utf8mb4编码是utf8编码的超集&#xff0c;兼容utf8&#xff0c;并且能存储4字节的表情字符。 采用utf8mb4编码的好处是&#xff1a;存储与获取数据的时候&#xff0c;不用再考虑表情字符的编码与解码问题。 更改数据库…

【leetcode 13】哈希表 242.有效的字母异位词

原题链接 题解链接 一般哈希表都是用来快速判断一个元素是否出现集合里。 当我们想使用哈希法来解决问题的时候&#xff0c;我们一般会选择如下三种数据结构。 数组 set &#xff08;集合&#xff09; map(映射) 如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景…

Edge浏览器网页设置深色模式/暗模式

文章目录 需求分析1. 浏览器中的设置——外观——深色。2. 在Edge浏览器的地址栏如下网址&#xff1a;edge://flags/&#xff0c;直接搜索Dark则有内容弹出&#xff0c;将Default更改为Enable即可设置成功。3. 成果 需求 长期对着电脑屏幕&#xff0c;白色实在太刺眼&#xff…

【无标题】四类sql语句通用

select select a from tableA where aa1&#xff1a; 总是丢掉from。。 运算&#xff1a; select a*3 b from tableA&#xff1b; 使用()来定义运算优先级。 别名 select a as xx from tableA&#xff1b;可以不加as&#xff0c;仅为增加可读性。 别名不可以中间有空格&…

TypeScript Jest 单元测试 搭建

NPM TypeScript 项目搭建 创建目录 mkdir mockprojectcd mockproject初始化NPM项目 npm init -y安装TypeScript npm i -D typescript使用VSCode 打开项目 创建TS配置文件tsconfig.json {"compilerOptions": {"target": "es5","module&…

基于nginx实现正向代理(linux版本)

介绍 在企业开发环境中&#xff0c;局域网内的设备通常需要通过正向代理服务器访问互联网。正向代理服务器充当中介&#xff0c;帮助客户端请求外部资源并返回结果。局域网内也就是俗称的内网&#xff0c;局域网外的互联网就是外网&#xff0c;在一些特殊场景内&#xff0c;例…

基于FPGA的多功能数字钟设计

基于FPGA的多功能数字钟设计 前言基础知识按键数码管 系统概述按键使用说明模块描述模块设计button_debouncebutton_controllerclock_controllerdigital_tube 整体资源用量测试视频 前言 本工程主要是数码管、按键、LED的应用开发。 注&#xff1a;本工程所有IP均使用源码开发…

利用开源AI智能名片2+1链动模式S2B2C商城小程序拓展社交电商的深度实践探索

摘要&#xff1a;在数字化浪潮席卷全球的今天&#xff0c;社交电商作为一种新兴的商业模式&#xff0c;正以前所未有的速度改变着消费者的购物习惯与商家的营销策略。本文深入探讨了开源AI智能名片21链动模式S2B2C商城小程序在社交电商领域的应用&#xff0c;通过分析其核心机制…

Python 扫描枪读取发票数据导入Excel

财务需要一个扫描枪扫描发票文件&#xff0c;并将主要信息录入Excel 的功能。 文件中sheet表的列名称&#xff0c;依次为&#xff1a;发票编号、发票编码、日期、金额、工号、扫描日期。 扫描的时候&#xff0c;Excel 文件需要关闭&#xff0c;否则会报错。 import openpyxl …

【优选算法篇】:模拟算法的力量--解决复杂问题的新视角

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;优选算法篇–CSDN博客 文章目录 一.模拟算法二.例题1.替换所有的问号2.提莫攻击3.外观数列4…

2_CSS3 背景 --[CSS3 进阶之路]

CSS3 中的背景属性提供了许多强大的功能来增强网页设计&#xff0c;包括但不限于多背景图像、渐变、背景大小控制等。以下是一些关键的 CSS3 背景属性及其用法示例。 1. 多重背景图像 CSS3 允许你为一个元素设置多个背景图像。这些图像按照它们在 background-image 属性中定义…

数据处理之计算文本相似度|余弦相似度|欧氏距离

计算文本相似度是自然语言处理中的一个重要任务&#xff0c;用于评估两个或多个文本之间的相似程度。以下是几种常用的方法及其背后的实现机制&#xff1a; 基于词频的方法(重点) 余弦相似度 (Cosine Similarity)&#xff1a;将文档表示为词频向量&#xff08;如使用词袋模型…

精通SCP命令:安全高效地进行文件传输

精通SCP命令&#xff1a;安全高效地进行文件传输 SCP&#xff08;Secure Copy Protocol&#xff09;命令是一个基于SSH协议的命令行工具&#xff0c;用于在本地系统和远程系统之间安全地复制文件和目录。以下是SCP命令的详细用法&#xff1a; 基本语法 scp [选项] [源文件或…

Word 转成pdf及打印的开源方案支持xp

Word转成pdf、打印的方案几乎没有免费开源的方案&#xff0c;现在提供一个通过LibreOffice实现的方案 操作依赖LibreOffice需要安装&#xff0c;点此下载老版本 5.4.7.2是最后一个支持xp的 版本如需xp要请安装此版本 LibreOffice官方介绍 LibreOffice 是一款开放源代码的自…

蓝桥杯备考:数据结构之栈 和 stack

目录 栈的概念以及栈的实现 STL 的stack 栈和stack的算法题 栈的模板题 栈的算法题之有效的括号 验证栈序列 后缀表达式 括号匹配 栈的概念以及栈的实现 栈是一种只允许在一端进行插入和删除的线性表 空栈&#xff1a;没有任何元素 入栈&#xff1a;插入元素消息 出…

C++中的条件变量(condition_variable)详解:小白版

在编程中&#xff0c;我们经常需要处理多个任务&#xff0c;这些任务可能需要同时运行&#xff0c;也可能需要按照一定的顺序运行。这就涉及到了线程的概念。线程就像是一个小程序&#xff0c;它可以在程序中独立运行&#xff0c;而且可以和其他线程并行执行。 但是&#xff0…

【python】OpenCV—Local Translation Warps

文章目录 1、功能描述2、原理分析3、代码实现4、效果展示5、完整代码6、参考 1、功能描述 利用液化效果实现瘦脸美颜 交互式的液化效果原理来自 Gustafsson A. Interactive image warping[D]. , 1993. 2、原理分析 上面描述很清晰了&#xff0c;鼠标初始在 C&#xff0c;也即…