conda建环境_anaconda安装第三方包

conda建环境_anaconda安装第三方包本文详细介绍了如何使用 conda 进行多环境管理 解决 Python 库版本冲突问题

结论速递

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

pip install spyder 

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

3.2 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类型
在这里插入图片描述
在这里插入图片描述

编程小号
上一篇 2024-12-07 22:51
下一篇 2024-12-07 22:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/dataspell/4565.html