赞
踩
在做项目时,有可能会遇到对于python中的A包,项目甲和项目乙所需的A包的版本不同,我们不可能在做项目甲时安装A包的一个版本,在做项目乙时又将A包更新到另一个版本。虚拟环境就是为了解决这样的冲突,我们创建一个虚拟环境env1,在虚拟环境env1中安装A包的一个版本,做项目甲;创建另一个虚拟环境env2,在其中安装A包的另一个版本做项目乙。
创建虚拟环境后,进入虚拟环境,系统中的各个文件夹在不同环境中仍然是共享的,只是不同环境中管理不同的包。
创建虚拟环境前可以使用如下conda指令查看一些配置
conda -V
conda list
conda update conda
使用conda创建虚拟环境
env_name
是自定义的虚拟环境名字,python=x.x
指定python版本conda create -n env_name python=x.x
也可以在后面加上 --yes
参数,从而在安装过程中不需要另外确认是否要安装,效果如下,对于使用conda install pkg_name
也相同
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
背景
conda activate [environment name]
或者source activate [environment name]
时,可能出现你明明安装了一个环境,但是 conda 却发现不了,然后提示Could not find conda environment。甚至可能conda env list或者conda info --envs后,居然发现环境是存在的。解决方法
conda config --show envs_dirs
your_path
是已存在环境路径conda config --append envs_dirs your_path
conda config --remove envs_dirs your_path
conda中无法直接重命名虚拟环境名称,但是可以曲线救国,通过新建一个虚拟环境,且新建的环境clone旧的环境。所以重命名虚拟环境名称的过程为:
(1)新建并克隆旧的环境
(2)删除旧环境
conda create --name new_name --clone old_env_name
conda remove --name old_env_name --all
# 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
当我们一台机器上存在多个conda时,我们在3.1章节中介绍过如何在默认conda中引入其他conda创建的虚拟环境。当我们通过3.1的方法引入其他环境时,系统将默认以后创建的环境存在第一个环境目录下,如下图所示,默认新创建的环境保存在D盘的环境中
现在我们想把第三个环境的优先级放到第一位,让新建的环境默认保存在第三和环境中,那么我们需要在conda配置文件中将第三个环境移动到第一位。默认conda的配置文件位于$HOME/.condarc
,修改该文件下的envs_dirs
即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。