conda下多环境(environment)及spyder jupyter lab配置

2023-11-08

结论速递

借助conda进行多environment环境管理,并且这些enviroment都可以共用IDE spyder以及jupyter lab。
由于python迭代很快,需要注意的是本文记录时间是2021/8/10,系统是Windows,conda版本4.10.3,高于此版本或低于此版本流程可能都不完全一致。

1 问题概述

为什么需要多环境?

  1. 第一个理解是,在安装一些开发中或者开发未完善的python库时,总是会遇到一些需要依赖库版本不一致的问题。
    比如最近遇到的一个问题是PyTorch Geometric库,会建议配置PyTorch版本为1.8.0打头,而另一个库比如NeuralProphet,则要求PyTorch<1.7。这个时候如果它们装在一个环境下就会导致PyTorch库版本混乱,有的库可用而有的库不可用。(事实上后面那位仁兄,还有有很多雷可以踩,比如pandas,numpy,seaborn,scikitlearn XD,不怪它,怪我)
    类似的经常引起冲突的依赖库还包括Numpy,Pandas,装完一个新的库另一个依赖于Numpy的库报废了的血与泪可没少流,把所有库的版本都统一显然是太过于麻烦了,也没那个必要(python的各个库迭代这么快,别和他们作对)。所以在装不是非常通用的库的时候,可能会优先考虑进行新环境创建,防止把前面的环境干掉。
  2. 第二个理解是,想跑一些模型或者论文源码的时候,需要使自己的运行环境和这些源码一致,把自己的base环境全部重配显然是不现实的,就可以新建environment,来简化这个过程。当然更省心的方式可能是colab,还是看个人喜好。
  3. 还有一个简单粗暴的理解,就是想玩多个python版本,每个版本当然至少要一个environment。

多环境配置完需要做什么
创建了新环境,还需要使IDE在各环境下通用。这边我习惯使用的IDE是spyder和jupyter lab。他们都可以实现在多环境下使用。

本文简单记录一下实现过程,方便回头查阅。(鸣谢@BH提醒需要把这个记录下来)

2 新环境创建及摧毁

记录一下一些常见的语句。此处参考了笔记conda创建新环境

首先是创建新环境

conda create --name yourEnv python=3.7

create --name后面跟命名,然后可以指定python版本。

然后一定要记得,创建完了,别着急装包,先切换到新建的环境

conda activate yourEnv

退出环境,可以通过切换到另一环境的形式

conda activate base

或者,退出激活

conda deactivate yourEnv

环境配烂了怎么办,没关系!可以直接摧毁重建,不会毁掉你的其他环境,完全没有负担!
摧毁语句(摧毁前,记得先退出你想要摧毁的环境)

conda remove -n yourEnv --all

然后还有一些花里胡哨的语句,比如,查看有多少个环境

conda info -e

在这里插入图片描述
*表示当前所在的环境,其实语句前面的(base)也提示了当前在base环境下。

3 IDE的通用

3.1 Spyder

Spyder其实比较粗暴简单,就是需要在每一个环境下都安装Spyder…
也就是activate每个环境,然后

pip install spyder

但是使用的时候要记得!你可以打开任意一个Spyder,但是如何确保Spyder知道用哪个环境来算呢。要记得到Perference那里,切换当前引擎
在这里插入图片描述
在这里插入图片描述
选完了之后记得重启kernal,不然白选
在这里插入图片描述

3.2 Jupyter lab

Jupyter lab的话,主要体现在配置上稍微复杂一点点。主要逻辑是,只在一个环境里头装jupyter lab,但是在需要用的环境里面配ipykernel。
首先在base上面,装好jupyter lab。

pip install jupyterlab

然后,在建好的环境里头(就是你要激活这个环境),配置ipykernel(其实也可以在建的时候就配上,不过我习惯分开做,建的时候配上可以参考这个博客

python -m ipykernel install --user --name yourEnv --display-name "yourEnvName"

上句子中对应的yourEnv就是要配ipykernel的环境名,yourEnvName对应到时候在Jupyter里头显示的名字。

如果提示找不到ipykernel,那就先

conda install ipykernel

然后对每一个环境重复就好,就可以配完了。

在使用的时候,可以在新建文件的地方选择对需要的引擎
在这里插入图片描述
然后也可以在笔记本右上方选择/切换kernel类型
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

conda下多环境(environment)及spyder jupyter lab配置 的相关文章

  • React报错之React hook ‘useState‘ cannot be called in a class component

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • Qt程式异常崩溃处理技巧(Win)

    文章转载来自 http www cnblogs com lcchuguo p 5177715 html 作者 lcchuguo 这篇文章谈的是 Qt4 程式在视窗系统下的异常崩溃处理技巧 所以须要在头文件里包括 include
  • Python3.6 异常处理和assert

    Author tyran Date 17 11 13 异常处理 try 代码逻辑 只要其中任意一行报错都会被捕捉 i int aaa print i except Exception as e 如果出错执行 捕捉错误 print e inv
  • awk从放弃到入门(1):awk基础 (通俗易懂,快进来看)

    我们先来用专业的术语描述一下awk是什么 如果你看不懂 没关系 我们会再用 大白话 解释一遍 awk是一个报告生成器 它拥有强大的文本格式化的能力 这就是专业的说法 你可能不理解所谓的报告生成器中的 报告 是什么 你可以把 报告 理解为 报
  • 智能家居创意DIY-智能触摸面板开关

    触摸开关 即通过触摸方式控制的墙壁开关 其感官场景如同我们的触屏手机 只需手指轻轻一点即可达到控制电器的目的 随着人们生活品质的提高 触摸开关将逐渐将换代传统机械按键开关 触摸开关控制原理 触摸开关我们把它理解为三部分构成 信号控制单元 开
  • VS Code 安装

    前端开发工具 VSCode HBuilder sublime WebStorm VS Code 一 介绍 Visual Studio Code 简称 VS Code 是 Microsoft 于2015年4月发布的一款代码编辑器 VS Cod
  • 非华为电脑安装华为电脑管家多屏协同

    1 转载声明 本文转载自 http www hankeer org article non huawei computer install pcmanager html 使用工具为上述链接内的博文的博主所开发 常见问题在其博客主页有所介绍
  • python怎么搭建免费代理IP池,免费代理IP适合爬虫工作吗

    Python可以使用一些第三方库和工具来搭建免费代理IP池 简单来说 搭建代理IP池的步骤如下 1 获取代理IP 从一些免费或付费代理IP网站上爬取并验证IP地址和端口信息 2 验证代理IP 使用代理IP访问一些网站或服务 验证代理IP的可
  • 【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动

    相关文章 1 Audio I2S传输PCM音频数据分析总结 一 2 Audio I2S传输PCM音频数据分析总结 二 3 Audio 基于STM32 I2S移植WM8978 Audio Codec驱动 1 WM8978简介 WM8978是一
  • 【Python】python -m pip install 和 pip install 的区别

    文章目录 一 pip install 二 python m pip install 三 两者的总结 一 pip install 当你使用 pip install 命令时 你正在使用 Python 包管理器 pip 来安装 Python 包或
  • 使用VSCode SSH公网远程连接本地服务器开发 - cpolar内网穿透

    文章目录 前言 视频教程 1 安装OpenSSH 2 vscode配置ssh 3 局域网测试连接远程服务器 4 公网远程连接 4 1 ubuntu安装cpolar内网穿透 4 2 创建隧道映射 4 3 测试公网远程连接 5 配置固定TCP端
  • Kibana 导出csv

    过几秒就会出现下面这图 直接点击Download即可
  • centos7下ldap服务搭建

    1 安装ldap服务 bin bash echo install ldap rpm yum install y openldap servers openldap clients cp usr share openldap servers
  • 计算机视觉论文

    1 Temporal Cluster Matching for Change Detection of Structures from Satellite Imagery 标题 时态聚类匹配用于卫星影像结构变化检测 链接 https arx
  • 网络编程中当强制结束TCP服务端之后客户端可能出现Connection refused错误

    当客户端连接到服务端时 强制结束服务端程序 当再次启动服务端 客户端在连接时出现Connection refused错误 原因为服务端重新启动后的端口号发生改变 改变的原因不清楚 可以用getsockname 函数获取bind 后socke
  • PyTorch:torch.nonzero——非零元素的定位

    PyTorch学习笔记 torch nonzero 非零元素的定位 torch nonzero input out None as tuple False LongTensor or tuple of LongTensors 功能 用于输出
  • Android Studio一个项目引入另一个项目作为依赖Libary

    声明 本教程不收取任何费用 欢迎转载 尊重作者劳动成果 不得用于商业用途 侵权必究 16年做的项目 因公司是某国企很注意保密 即有了奇葩要求不允许用svn git版本控制工具 所以就有了此篇文章的诞生 下面是我对以前笔记的整理 Androi
  • Linux 定时任务详解

    今天继续给大家介绍Linux基础知识 本文主要内容是Linux定时任务 一 Linux定时任务简介 计划任务是需要在指定时间执行的任务或者是周期性执行的任务 比如凌晨3点重启设备 每周对日志文件备份等 Linux系统会内置at和cron服务

随机推荐

  • sql的coalesce函数用法

    介绍 coalesce函数是sql里面极其实用的一个函数 具体用法如下 SELECT coalesce exp1 exp2 as info FROM table1 当exp1为NULL时 计算exp2 当exp2为空时 计算exp3 一直到
  • 历年阿里巴巴面试题集,蚂蚁金服Android面经!

    早在2017年我们就建了第一个进击BAT的Android开发进阶交流群 两年期间很多群友都分享了自己的Android面试经历 其中就有很多群友已经斩获蚂蚁金服 天猫 高德 盒马等阿里系offer 收集反馈的面经资料比较乱 最近疫情期间终于空
  • springboot之RestTemplate接口封装的示例分享

    转自 springboot之RestTemplate接口封装的示例分享 下文笔者讲述封装RestTemplate接口的示例分享 如下所示 实现思路 只需对RestTemplate方法进行相应的封装 即可实现HttpClient的效果 例 i
  • 1-3、安装Ubuntu和Windows双系统

    1 3 安装Ubuntu和Windows双系统 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 4 初稿 目录 文章目录 1 3 安装Ubuntu和Windows双系统 版本说明 目录 一 初衷 二 注意 三 制作启动盘
  • rsync备份同步文件

    一 介绍 Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像 远程备份的功能 cp scp等工具拷贝均为完整的拷贝 而rsync除了可以完整拷贝外 还具有增量拷贝的功能 官方文档 https www samba org ftp
  • 多线程(三)Thread 类及常见方法

    目录 一 Thread类的几个属性 属性 状态 getState 属性 ID和Name getId 和getName 属性 优先级 getPriority 属性 是否守护线程 isDaemon 属性 是否存活 isAlive 二 启动一个线
  • Jetbrains实用技巧汇总

    Jetbrains Tools 关闭 vim模式 菜单栏 tools gt vim emulator Jetbrains Tools 在启动时取消 打开最近关闭的项目 Settings gt System Settings取消勾选 Reop
  • MongoDB未授权访问漏洞验证与修复过程

    环境 Windows MongoDB3 2 文章目录 一 漏洞验证 1 使用MSF验证 2 使用nmap验证 二 修复 1 寻找配置文件mongod cfg Windows下 2 在 network interfaces 下插入以下代码 三
  • STC8--休眠唤醒

    0 休眠有两种 空闲模式和掉电模式 空闲模式是CPU不再运行 其他外设运行 掉电模式是所有设备不再运行 后者更省电 两种模式都通过PCON来设置 B0位置1进入空闲模式 B1位置1进入掉电模式 1 关于休眠后的唤醒 有两类 第一类是利用IN
  • qt creator编译报错:parse error

    qt creator编译报错 parse error 利用qt creator编译qt工程时 出现报错信息parse error 出现错误的文件是pri文件 出现这种错误 一般是pro或pri出现了语法错误 经过检查 发现我的报错原因是pr
  • 日语操作系统安装日语软件乱码的解放方案

    1 打开控制面板 時計 地域 地域 地域 管理 Unicode対応 言語 日本語 日本 按照以上步骤 既可解决日语系统 安装日语软件乱码的问题
  • CreateProcess error=740, 请求的操作需要提升

    再用Java程序启动本地程序时有时会出现CreateProcess error 740 请求的操作需要提升 这样的异常 此异常为Java程序权限不足以调动需要启动的程序 解决方法 用管理员方式启动IED工具 并运行程序
  • C#图书管理系统

    大二 C 程序设计 课程设计项目 包含完整 源码 设计文档 测试数据 答辩PPT 仅供参考 文章目录 登录 系统管理员 图书借阅 登录 系统管理员 图书借阅
  • (GCC)STM32CubeMX中s启动文件详解

    本文所使用工程由STM32CubeMX生成 使用芯片 STM32F103ZET6 基本只开了时钟 s文件内容如下 C COPYRIGHT 2017 STMicroelectronics file startup stm32f103xe s
  • lvds传输距离标准_带你了解LVDS技术

    LVDS Low Voltage Differential Signaling 低电压差分信号技术 一种定义了高速数据传输接口电路电气特性的通用技术标准 而非协议 因为协议是特定于应用程序的 LVDS标准工作组选择仅定义驱动器和接收器的电气
  • 【Web3】 Web3JS Pay Api

    Web3Network eth sendSignedTransaction serializedTx 参数 from String Number 发送帐户的地址 如果未指定 则使用web3 eth defaultAccount属性 或web
  • 菌群多样性分析报告

    参考链接https www docin com p 2107733531 html 在开始实验项目之前 明确实验流程 一步一步获取实验结果 以可视化工具展现结果 并加以生物学意义上的分析 获取完整的分析报告 下面给出菌群多样性分析报告中应包
  • 基于深度相机的三维重建技术

    本文转载自http www bugevr com zblog id 14 原创作者bugeadmin 转载至我的博客 主要是为了备份 日后查找方便 谢谢原创作者的分享 三维重建 3D Reconstruction 技术一直是计算机图形学和计
  • [Spring学习]07 Spring AOP面向切面编程

    目录 一 什么是Aop 二 Aop相关术语 三 Aop的优点 一 什么是Aop OOP Object Oriented Programming 面向对象编程 AOP Aspect Oriented Programming 面向切面编程 OO
  • conda下多环境(environment)及spyder jupyter lab配置

    结论速递 借助conda进行多environment环境管理 并且这些enviroment都可以共用IDE spyder以及jupyter lab 由于python迭代很快 需要注意的是本文记录时间是2021 8 10 系统是Windows