conda切换环境命令,conda切换路径

http://www.itjxue.com  2023-01-23 17:06  来源:未知  点击次数: 

conda切换环境是出现“Could not find conda environment”

安装anaconda环境完成后,使用命令:

发现激活目标环境是,提示没有环境,但是通过命令:

查看后发现环境是存在的

再通过命令:

原因是路径问题。

解决方法:

让你的 conda "回滚" 到以前版本的环境

我现在使用 Anaconda 作为我的主要 Python 发行版,同样,我们公司也将它用于所有开发人员机器以及他们的服务器。然而,前几天我在浏览一些论坛技术文章时遇到了一个我以前从未知道的 conda 精彩功能——conda 版本回滚!在这里给大家分享一下。

举一个最简单的例子。如果我们运行 conda list --revisions ,我们会得到这样的输出:

在上面的输出中,我们可以看到我的 conda 环境的许多特定版本(或修订版),以及它们的创建日期/时间以及差异(已安装的软件包显示为 + ,已卸载的显示为 - 和升级的显示为 - )。 如果要恢复到以前的版本,只需运行 conda install --revision N (其中N是修订号)即可。 这将要求你确认相关的软件包卸载/安装,并让您回到原来的位置!

所以,我认为这非常棒!如果你搞砸了,想要回到以前的工作环境,真的很方便。

首先,如果你“恢复”到之前的修订版,那么你会发现创建了一个“逆”修订版,只是做了与之前修订版相反的版本。例如,如果您的修订列表如下所示:

接着,通过运行 conda install --revision 1 恢复到修订版1,然后再次运行 conda list --revisions ,你会得到:

我们可以看到修订版 3 的更改只是修订版 2 的反转。

还有一点是我发现所有这些数据都存储在环境的 conda-meta 目录中的历史文件中(默认环境对应于 CONDA_ROOT/conda-meta ;其他环境对应于 CONDA_ROOT/envs/ENV_NAME/conda-meta )。你不想知道为什么我去搜索这个文件(这是一个长篇故事,涉及我的一些愚蠢),但它有一些非常有用的内容:

具体来说,它不仅仅提供已安装,卸载或升级的列表,它还为您提供了运行的命令! 如果需要,可以使用一些命令行魔法来提取这些命令:

最后,我发现 environment.yml 文件有时会有点痛苦(它们并不总是跨平台兼容 - 请参阅 anaconda-issues: 546 ), 所以通过 conda install --revision N 实现 conda 回滚非常有用,因为它实际上给了我运行创建环境的命令。

conda 迁移环境

更换pc后重建conda环境如果一个一个软件包安装是一个十分麻烦的事情。

conda提供了命令

将当前环境下的所有依赖存储在 env.yaml 中

以上为一个示例,注意当需要更换平台时,如 win 上导出到 MacOS 上创建环境,需要在导出环境时添加 --no-build 。

即可创建新的同名环境。

发现返回信息

经过检查,环境成功创建了,但是只安装了 conda install 命令安装的软件包。

env.yaml 文件中的 pip 之后的依赖包并没有安装。

这时需要在源环境导出pip安装的软件包信息

用 pip 安装没有安装的依赖包

这时,新的报错

产生这个报错的原因有两种

主要是 g++ 和 gcc 的原因。

可以查看

首先检查 gcc 和 g++ 版本是否一致。

如果没有安装

安装缺失的,并保持版本一致。

之后在用pip安装就可以了

jupyter多个虚拟环境间切换

jupyter只需安装一个即可。用conda(不管是Anaconda还是Miniconda)一般会创建多个虚拟环境,这些环境中的python版本以及各种库的配置和版本也都是不一样的,此时我们希望jupyter能为每个虚拟环境单独处理!

下面从用conda安装虚拟环境开始,以pytorch的安装作为测试。下面都是Miniconda下进行的。

初始:从Anaconda Prompt中打开cmd,此时显示的初始conda环境为(base)环境!

创建命令:conda create -n pytorch_gpu

效果:创建的名为pytorch_gpu的虚拟环境会在暗转的Miniconda下的envs文件夹中!

激活命令:conda activate pytorch_gpu

效果:环境从(base)变为(pytorch_gpu);说明已经进入成功;

安装命令:conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

效果:把pip、numpy、cudatoolkit、pywin32都一并安好

进一步安装命令:

退出命令:conda deactivate

效果: 环境从(pytorch_gpu)变回(base);说明已经退出成功;

注:退出命令不需要后面跟“虚拟环境名”,因此此时已经在环境内了。

(1)安装必备的包:pip install ipykernel

(2)为虚拟环境创建kernel文件:conda install -n 环境名称 ipykernel

(3)在jupyter中激活这个kernel文件:python -m ipykernel install --user --name 环境名称 --display-name '显示的名称'

(4)验证是否创建对了:主要查看python的版本号 + 特殊的库

注:创建好jupyter notebook的 'pytorch_gpu' 虚拟环境后,可以在 任何地址 处创建.ipynb文件! 即 ' 虚拟环境的创建位置 ' 与 '相应的.ipynb文件的创建位置' 是不一样的!

一系列验证命令:

Linux python默认使用conda

本篇介绍如何让linux在不激活任何环境时,调用python命令直接使用到conda的某个子环境。

首先说明本篇文章的工作原由,以及踩过的坑。

在之前的工作中,一般进行python开发都会使用conda进行包管理,以达到隔离多个环境的目的。例如:

问题来了,在一些场景中,外部程序需要调用服务器上的api,又无法做出 conda activate 的命令,命令是直接使用 python xxx.py ,这时候只能使用linux自带的python命令,或者conda的base环境的python命令。所以需要将环境搭建在linux的python或者conda的base。搭建过程中,遇到的问题来自两个方面:

解决方法:将linux默认的python做软链接,链接到conda的子环境。

创建环境: conda create -n child_env python=3.6

切换环境: conda activate child_env

安装pytorch: conda install pytorch torchvision cudatoolkit=10.0

安装tensorflow: conda install tensorflow-gpu

安装其他包: conda install xxx,xxx,...

先将老的链接备份: mv /usr/bin/python /usr/bin/python22

再做链接: ln -s /root/anaconda3/envs/child_env/bin/python3 /usr/bin/python

第一个路径需要改成自己的anaconda路径,child_env改成自己的环境名,第二个路径不用改。

先关掉conda环境: conda deactivate

再运行: python xxx.py

用这个方法,虽然解决了直接调用python命令的问题。但是引入了新的问题。

更换默认python版本

(责任编辑:IT教学网)

更多

推荐网络媒体文章