使用conda创建虚拟环境

1. 为什么需要虚拟环境

在做项目时,有可能会遇到对于python中的A包,项目甲和项目乙所需的A包的版本不同,我们不可能在做项目甲时安装A包的一个版本,在做项目乙时又将A包更新到另一个版本。虚拟环境就是为了解决这样的冲突,我们创建一个虚拟环境env1,在虚拟环境env1中安装A包的一个版本,做项目甲;创建另一个虚拟环境env2,在其中安装A包的另一个版本做项目乙。

创建虚拟环境后,进入虚拟环境,系统中的各个文件夹在不同环境中仍然是共享的,只是不同环境中管理不同的包。

2.使用conda创建虚拟环境

创建虚拟环境前可以使用如下conda指令查看一些配置

  • 检验是否安装及当前conda的版本
conda -V

在这里插入图片描述

  • 查看安装了哪些包
conda list
  • 检查更新conda
conda update conda

使用conda创建虚拟环境

  • 创建一个虚拟环境,其中env_name是自定义的虚拟环境名字,python=x.x指定python版本
conda create -n env_name python=x.x

也可以在后面加上 --yes 参数,从而在安装过程中不需要另外确认是否要安装,效果如下,对于使用conda install pkg_name也相同
在这里插入图片描述

图1. 加–yes参数全程不需要再次输入yes来确认是否安装

在这里插入图片描述

图2. 未使用–yes参数需要再次却惹

  • 查看当前存在哪些虚拟环境
conda env list 或者 conda info -e
  • 进入虚拟环境
conda activate en_name 或者 source activate env_name
  • 进入虚拟环境后使用如下指令可以只在当前环境中安装删除包
conda install pkg_name 
conda uninstall pkg_name
pip install pkg_name
pip uninstall pkg_name
  • 退出当前虚拟环境
conda deactivate 或者 source deactivate
  • 删除虚拟环境
conda remove -n env_name --all

添加国内镜像源
使用conda默认的源来安装包速度非常慢,甚至失败,因此可以添加国内源来加快安装包的网速

在linux下,使用vim ~/.condarc 修改配置文件,若配置文件里面为空,直接将如下代码拷贝进去,若存在一些源,可以将其他源的链接按原先格式添加进去

# 中科大源
channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true
# 清华源
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true

在这里插入图片描述

3. 其他问题

3.1 添加已有虚拟环境

背景

  • 在使用conda activate [environment name]或者source activate [environment name]时,可能出现你明明安装了一个环境,但是 conda 却发现不了,然后提示Could not find conda environment。甚至可能conda env list或者conda info --envs后,居然发现环境是存在的。
  • 电脑上已经有一些pyhon环境了(比如安装了多个anconda,他们的虚拟环境保存的并非同一个目录下),需要将他们添加到conda下作为conda虚拟环境来管理

解决方法

  • 查看conda配置的环境路径中有没有安装环境的目录
conda config --show envs_dirs
  • 手动添加环境目录
    找到你已存在的环境路径,并添加到conda里:下面的your_path是已存在环境路径
conda config --append envs_dirs your_path
  • 删除环境目录
    如果你想要这个环境,可以执行以下命令删除
conda config --remove envs_dirs your_path

3.2 重命名虚拟环境名称(克隆环境)

conda中无法直接重命名虚拟环境名称,但是可以曲线救国,通过新建一个虚拟环境,且新建的环境clone旧的环境。所以重命名虚拟环境名称的过程为:
(1)新建并克隆旧的环境
(2)删除旧环境

conda create --name new_name --clone old_env_name
conda remove --name old_env_name --all

3.3 jupyter创建新的kernel

# 1. 进入需要创建kernel的虚拟环境
conda activate your_env_name
# 2. 创建kernel
python -m ipykernel install --name your_env_name

注意:第二步中name参数可以自定义,一般建议设置为当前虚拟环境名称一致

另外一种方法是在创建虚拟环境的同时创建kernel

conda create -n your_env_name python=3.5 ipykernel  

3.4 修改多个conda优先级

当我们一台机器上存在多个conda时,我们在3.1章节中介绍过如何在默认conda中引入其他conda创建的虚拟环境。当我们通过3.1的方法引入其他环境时,系统将默认以后创建的环境存在第一个环境目录下,如下图所示,默认新创建的环境保存在D盘的环境中
在这里插入图片描述
现在我们想把第三个环境的优先级放到第一位,让新建的环境默认保存在第三和环境中,那么我们需要在conda配置文件中将第三个环境移动到第一位。默认conda的配置文件位于$HOME/.condarc,修改该文件下的envs_dirs即可
在这里插入图片描述


🤗了解更多AI算法及工具关注微信公众号 funNLPer🤗
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值