error: externally-managed-environment
当你执行 pip3 install ipykernel 时遇到 error: externally-managed-environment 错误,这是因为从 Python 3.11 开始,为了避免破坏系统级 Python 环境,引入了外部管理环境(externally - managed environment)的概念,直接使用 pip 在系统级 Python 环境中安装包会受到限制。下面为你介绍几种可行的解决办法:
方法一:使用系统包管理器安装
如果你想在系统范围内安装 Python 包,可以使用系统的包管理器(如 apt ,适用于基于 Debian 或 Ubuntu 的系统)。
sudo apt update
sudo apt install python3-ipykernel
这种方法的优点是安装的包与系统的 Python 环境集成良好,且能保证依赖的一致性;缺点是包的版本可能不是最新的,因为系统包管理器的更新速度可能较慢。
方法二:创建并使用虚拟环境
虚拟环境可以为项目创建一个独立的 Python 环境,避免与系统级 Python 环境相互影响。
步骤 1:创建虚拟环境
在终端中执行以下命令创建一个名为 myenv 的虚拟环境:
python3 -m venv myenv
步骤 2:激活虚拟环境
- 在 macOS 和 Linux 上:
source myenv/bin/activate
- 在 Windows 上:
myenv\Scripts\activate
激活虚拟环境后,终端提示符通常会显示虚拟环境的名称。
步骤 3:安装 ipykernel
在激活的虚拟环境中执行以下命令安装 ipykernel:
pip install ipykernel
使用虚拟环境的好处是可以为不同的项目管理独立的依赖,避免版本冲突;缺点是需要为每个项目单独管理虚拟环境。
方法三:使用 pipx 安装
pipx 可以在隔离的环境中安装 Python 应用程序,同时提供全局可访问的命令。
步骤 1:安装 pipx
如果你还没有安装 pipx,可以使用以下命令进行安装:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
步骤 2:使用 pipx 安装 ipykernel
pipx install ipykernel
使用 pipx 的优点是可以方便地安装和管理 Python 应用程序,同时保持系统环境的整洁;缺点是不适用于安装作为库使用的包。
方法四:使用 --break-system-packages 选项(不推荐)
如果你确定要在系统级 Python 环境中安装包,并且愿意承担破坏系统 Python 安装的风险,可以使用 --break-system-packages 选项:
pip3 install --break-system-packages ipykernel
这种方法不推荐使用,因为它可能会导致系统 Python 环境出现问题,影响系统的稳定性和正常运行。
相关文章:
error: externally-managed-environment
当你执行 pip3 install ipykernel 时遇到 error: externally-managed-environment 错误,这是因为从 Python 3.11 开始,为了避免破坏系统级 Python 环境,引入了外部管理环境(externally - managed environment)的概念&a…...
使用PyCharm进行Django项目开发环境搭建
如果在PyCharm中创建Django项目 1. 打开PyCharm,选择新建项目 2.左侧选择Django,并设置项目名称 3.查看项目解释器初始配置 4.新建应用程序 执行以下操作之一: 转到工具| 运行manage.py任务或按CtrlAltR 在打开的manage.pystartapp控制台…...
移动机器人规划控制入门与实践:基于navigation2 学习笔记(一)
课程实践: (1)手写A*代码并且调试,总结优缺点 (2)基于Gazebo仿真,完成给定机器人在给定地图中的导航调试 (3)使用Groot设计自己的导航行为树 掌握一门技术 规划控制概述 常见移动机器人...
TCP服务器与客户端搭建
一、思维导图 二、给代码添加链表 【server.c】 #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <fcntl.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.…...
flutter Selector 使用
在 Flutter 中,Selector 是 provider 包中的一个组件,用于在状态管理中高效地选择和监听特定部分的状态变化。Selector 可以帮助你避免不必要的重建,只在你关心的数据发生变化时才重建 widget。 基本用法 Selector 的基本用法如下ÿ…...
deepseek来讲lua
Lua 是一种轻量级、高效、可嵌入的脚本语言,广泛应用于游戏开发、嵌入式系统、Web 服务器等领域。以下是 Lua 的主要特点和一些基本概念: 1. 特点 轻量级:Lua 的核心非常小,适合嵌入到其他应用程序中。高效:Lua 的执…...
【大数据技术】本机DataGrip远程连接虚拟机MySQL/Hive
本机DataGrip远程连接虚拟机MySQL/Hive datagrip-2024.3.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本机的DataGrip连接虚拟机的MySQL数据库和Hive数据库,提高编程效率。 安装DataGrip 请按照以下步骤安装DataGrip软…...
【C++篇】C++11新特性总结1
目录 1,C11的发展历史 2,列表初始化 2.1C98传统的{} 2.2,C11中的{} 2.3,C11中的std::initializer_list 3,右值引用和移动语义 3.1,左值和右值 3.2,左值引用和右值引用 3.3,…...
redis之RDB持久化过程
redis的rdb持久化过程 流程图就想表达两点: 1.主进程会fork一个子进程,子进程共享主进程内存数据(fork其实是复制页表),子进程读取数据并写到新的rdb文件,最后替换旧的rdb文件。 2.在持久化过程中主进程接收到用户写操作&#x…...
操作系统—进程与线程
补充知识 PSW程序状态字寄存器PC程序计数器:存放下一条指令的地址IR指令寄存器:存放当前正在执行的指令通用寄存器:存放其他一些必要信息 进程 进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位…...
CV(11)-图像分割
前言 仅记录学习过程,有问题欢迎讨论 图像分割 语义分割不需要区分具体的个体,实例分割需要 反卷积/转置卷积: 它并不是正向卷积的完全逆过程。反卷积是一种特殊的正向卷积,先按照一定的比例通过补0 来扩大输入图像的尺寸&…...
【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)
ps.源码放在最后面 设计IIR数字滤波器可以看这里:利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程) 前言 本篇文章将介绍如何利用MATLAB与STM32的ARM-DSP库相结合,简明易懂地实现FIR低通滤波器的设计与应用。文章重点不在…...
STM32上部署AI的两个实用软件——Nanoedge AI Studio和STM32Cube AI
1 引言 STM32 微控制器在嵌入式领域应用广泛,因为它性能不错、功耗低,还有丰富的外设,像工业控制、智能家居、物联网这些场景都能看到它的身影。与此同时,人工智能技术发展迅速,也逐渐融入各个行业。 把 AI 部署到 STM…...
Next.js简介:现代 Web 开发的强大框架(ChatGPT-4o回答)
prompt: 你是一位专业的技术博客撰稿人,你将写一篇关于介绍next.js这个开发框架的技术博文,语言是中文,风格专业严谨,用词自然、引人入胜且饶有趣味 在现代 Web 开发的世界中,选择合适的框架可以显著提升开发效率和应用…...
Kubernetes与Deepseek
人工智能(AI)与云计算的融合正在加速,而 Kubernetes(K8s) 正在成为 AI 发展的基础设施之一。作为一匹 AI 领域的黑马,Deepseek 需要依靠强大的计算资源和高效的管理工具来训练和部署其大规模 AI 模型&#…...
qt+gstreamer快速创建一个流媒体播放器
目录 1 前言 2 playbin3 3 videooverlay 4 关键代码 5 运行示例 1 前言 最近因为工作需求,要实现一个桌面流媒体播放器来支持常见的流媒体协议,经过调研发现使用gstreamer配合一些桌面级的gui应用开发工具如qt可以进行快速实现,在此进…...
RAID独立硬盘冗余阵列
目录 一、RAID基本功能 二、RAID常见级别 三、实现方式 1、软件磁盘阵列 2、硬件磁盘阵列 四、热备盘 RAID(Redundant Array of Independent Disks)是一种通过将多个硬盘组合成一个逻辑单元来提升存储性能、冗余性或两者兼具的技术。 一、RAID基本…...
DeepSeek V2报告阅读
概况 MoE架构,236B参数,每个token激活参数21B,支持128K上下文。采用了包括多头潜在注意力(MLA)和DeepSeekMoE在内的创新架构。MLA通过将KV缓存显著压缩成潜在向量来保证高效的推理,而DeepSeekMoE通过稀疏计…...
超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程
超详细UE4(虚幻4)第一人称射击(FPS)游戏制作教程 引言 在游戏开发领域,第一人称射击(FPS)游戏一直是最受欢迎的类型之一。从经典的《反恐精英》(CS)到现代的《使命召唤》(Call of Duty),FPS游戏凭借其紧张刺激的游戏体验和高度沉浸感,吸引了无数玩家。如果你是一…...
【开发电商系统的技术选型】
开发电商系统的技术选型是一个复杂而细致的过程,涉及到多个方面和层面的考量。以下是一份详细的技术选型指南: 前端技术 基础技术 HTML5/CSS3/JavaScript:这是构建现代网页应用的基础。HTML5提供了丰富的语义元素,便于搜索引擎优…...
JAVA异步的TCP 通讯-服务端
一、服务端代码示例 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.AsynchronousServerSocketChannel; import java.nio.channels.AsynchronousSocketChannel; import java.nio.channels.Completion…...
零基础Vue入门6——Vue router
本节重点: 路由定义路由跳转 前面几节学习的都是单页面的功能(都在专栏里面https://blog.csdn.net/zhanggongzichu/category_12883540.html),涉及到项目研发都是有很多页面的,这里就需要用到路由(vue route…...
关于JS继承的七种方式和理解
1.原型链继承 function Fun1() {this.name parentthis.play [1, 2, 3] } function Fun2() {this.type child }Fun2.prototype new Fun1()let s1 new Fun2() let s2 new Fun2() s1.play.push(4) console.log(s1.play, s2.play) // [1, 2, 3, 4] [1, 2, 3, 4]可以看到两个…...
Elasticsearch的使用场景、数据量级及选择原因?为什么没有用Hbase?
目录 Elasticsearch 的使用场景、数据量级及选择原因 1. Elasticsearch 的使用场景 2. 数据量级 3. 选择 Elasticsearch 的原因 4. 为什么选择 Elasticsearch 而不是 HBase 5. 数据量级对比 6. 总结 Elasticsearch 的使用场景、数据量级及选择原因 1. Elasticsearch 的…...
Oracle迁移到MySQL
Oracle迁移到MySQL业务需要全面改造适配,数据库对象和业务SQL语法需要一对一映射分析如何改写,根据业务使用实际情况评估改造适配成本较高。 目前,已有数据库产品能力缺少自动化迁移工具,需要依赖生态产品能力,比如云和…...
.Net Core笔记知识点(跨域、缓存)
设置前端跨域配置示例: builder.Services.AddCors(option > {option.AddDefaultPolicy(policy > {policy.WithOrigins(originUrls).AllowAnyMethod().AllowAnyHeader().AllowCredentials();});});var app builder.Build();app.UseCors(); 【客户端缓存】接…...
【Vue】在Vue3中使用Echarts的示例 两种方法
文章目录 方法一template渲染部分js部分方法一实现效果 方法二template部分js or ts部分方法二实现效果 贴个地址~ Apache ECharts官网地址 Apache ECharts示例地址 官网有的时候示例显示不出来,属于正常现象,多进几次就行 开始使用前,记得先…...
每日Attention学习18——Grouped Attention Gate
模块出处 [ICLR 25 Submission] [link] UltraLightUNet: Rethinking U-shaped Network with Multi-kernel Lightweight Convolutions for Medical Image Segmentation 模块名称 Grouped Attention Gate (GAG) 模块作用 轻量特征融合 模块结构 模块特点 特征融合前使用Group…...
Qt —— 加载百度离线地图、及简单绘图(附源码)
效果 说明 软件代码已下载了某区域的离线瓦片地图,通过百度离线api进行调用的地图效果。 源码 void PointMapTEST...
124,【8】buuctf web [极客大挑战 2019] Http
进入靶场 查看源码 点击 与url有关,抓包 over...
