conda Python 虚拟环境相关
一、易混名词
Conda:一个通用包管理器(在系统上提前编译和配置好的软件包集合, 装好了后就可以直接用)。等价于pip(仅适用Python),但是conda不限于Python语言,都可以实现包的安装和环境隔离。
Anaconda:一个python发行版(在系统上提前编译和配置好的软件包集合, 装好了后就可以直接用)。会预装很多pydata生态圈里的软件(conda、某个版本的python、众多packages、科学计算工具等)。
Miniconda:等价于于Anaconda,一个python发行版,只包含最基本的内容——python与conda,以及相关的必须依赖项。
pip:一个针对python的包管理器。pip可以允许你在任何环境中安装python包,而conda允许你在conda环境中安装任何语言包(包括c语言或者python)。
二、conda使用
1、conda安装
1)下载conda最小依赖
2)安装
bash Miniconda3-latest-Linux-x86_64.sh
3)检查
conda —version
4)更换仓库源
# 添加Anaconda的TUNA镜像
conda config --add channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
5)升级conda
conda update conda
6)删除conda
rm -rf path_install # 或者卸载anaconda
2、conda管理环境
conda可以实现环境隔离,理解为不同项目需要不同的Python版本,不同的包版本。
一旦激活某个环境,那么操作均是仅针对该环境的操作,在环境外部操作,需要区分针对所有环境还是某个环境,需要使用--name参数指定。
1)创建并激活一个环境
conda create --name yolov5
位置在Anaconda安装文件的/envs/yolov5
还可以指定Python版本:
conda create --name yolov5 python=3.8
2)激活这个新环境
conda activate yolov5 # linux下
新的开发环境会被默认安装在你conda目录下的envs文件目录下。你可以指定一个其他的路径;通过conda create -h查看参数使用
3)列出所有环境
conda env list
4)切换到另一个环境(activate/deactivate):即从一个项目环境切换到另外一个项目环境
conda activate yolov5 # linux下
# 如果要从你当前工作环境的路径切换到系统根目录时,键入:
conda deactivate # linux
5)复制一个环境
conda create -n yolov6 --clone yolov5 # 根据yolov5克隆一个yolov6
6)删除一个环境
conda remove -n yolov5 --all
注意:如果移除环境失败,可以尝试下面的方法
conda env remove -n ENV_NAME
三、包管理
1)查看已安装包:激活一个环境后可以通过下面的命令查看已经安装的包
conda list
2)向指定环境中安装包:有三种方式
A-1:使用Conda命令安装包:直接指定-n 指定安装环境的名字
conda install --name yolov5 numpy
A-2:使用Conda命令安装包:先激活环境,再使用conda install命令
conda activate yolov5
conda install numpy
B:从
Anaconda.org安装一个包:
如果一个包不能使用conda安装,我们接下来将在
Anaconda.org网站查找,搜索框内搜索相应的package
conda install--channel address package_name # 暂时还没尝试
C:通过pip命令来安装包:需要先激活环境,然后
pip install package_name
3)移除包
假设你决定不再使用商业包。你可以在bunnies环境中移除它
conda remove -n bunnies package_name
四、例子
比如常见的YOLOV5,只需:
装好conda,创建虚拟环境(需要指定Python 版本为3.8),进入虚拟环境,就可以使用pip 直接安装
需要注意该虚拟环境仅针对当前的终端,不影响其他终端的环境。
参考链接: