Conda在各操作系统平台安装配置和使用Python环境(保姆级教程)

Conda是python程序运行环境的管理工具。Python是目前最流行的计算机语言,由于python是胶水语言,功能上的实现依赖第三方包。有的python脚本需要特定版本的依赖包运行,如果直接在电脑上安装该依赖包,可能影响到其他python脚本运行,因此python提出了虚拟环境和公共环境的概念,使用虚拟环境来单独为此python脚本安装依赖包。虚拟环境解决了依赖包安装的问题,那么如果脚本对python解释器版本有要求怎么办呢,conda就是解决为python解释器创建隔离环境的工具。conda可以理解为管理python程序运行环境的工具,包括python解释器和所需要的依赖包,通过conda可以创建指定版本python解释器的独立环境,并且可以在该环境下安装依赖包,每个环境的python解释器和依赖包都是独立存在的。

Conda分为anaconda和miniconda两个工具,anaconda是包含一些常用包,并且有图形用户界面,是比较完善的环境管理工具;miniconda是anaconda的精简版,仅包含conda主程序和基本包,没有用户界面。

Conda官网https://docs.conda.io/en/latest/miniconda.html

一、安装

(一)Windows

官网下载exe安装包安装,因为miniconda本身体积比较大,建议安装在空间较大的磁盘。安装版安装好后已经配置好环境的变量,具体是环境变量path中添加以下路径:

# 添加path的环境路径
D:\Miniconda3
D:\Miniconda3\Library\mingw-w64\bin
D:\Miniconda3\Library\usr\bin
D:\Miniconda3\Library\bin
D:\Miniconda3\Scripts

# 最主要的路径
D:\Miniconda3
D:\Miniconda3\Library\bin
D:\Miniconda3\Scripts

path环境变量主要用于全局cmd控制台,任何一个cmd都可以使用conda,如果没有在path添加miniconda路径,将无法直接使用conda的命令。为了避免污染全局环境,建议不使用全局环境变量,而是使用conda前激活环境即可。

安装好后win+r快捷键输入cmd调出控制台,输入conda -V,即可看到miniconda的版本号。

绿色免安装版miniconda,cmd中使用前可手动activate激活conda的base环境,或者临时添加环境变量。

# 激活conda的base环境(推荐)
Miniconda3\condabin\activate.bat
# 临时添加路径
path=%path%D:\Miniconda3;D:\Miniconda3\Library\bin;D:\Miniconda3\Scripts

(二)Linux/MacOS

1.下载

官网下载对应平台对应的sh安装包,也可以通过命令下载安装包。

# Linux
wget -c https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh
## 示例(-c断点续传,-O下载到用户目录下重命名为miniconda3.sh)
wget -c -O ~/miniconda3.sh https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh

# MacOS
curl -O https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh
## 示例(-C断点续传,-o下载到用户目录下重命名为miniconda3.sh)
curl -C -o ~/miniconda3 https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh

wget和curl命令类似,都可以在linux和macos系统中用来下载文件,linux默认安装wget,macos默认安装curl。当不指定保存路径时,默认下载在当前目录下。

wget [option] <url>
curl [option] <url>

更多参数请使用wget -hcurl -h查看

清华大学镜像站Miniconda下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

2.安装

安装包所在目录鼠标右键进入终端,使用bash命令进行安装。

# 修改权限(提示权限不足时执行)
chmod 777 Miniconda3-py39_4.11.0-Linux-x86_64.sh
# 执行安装
bash Miniconda3-py39_4.11.0-Linux-x86_64.sh -b -p ~/miniconda3

参数:-b:表示默认允许许可证,-p:指定安装目录

以上命令表示默认不询问安装到用户目录下的minoconda3目录。(Linux和macOS路径中的~符号表示用户目录,sudo获取管理员权限后表示/root目录(macos是/var/root目录)。~也可以使用$HOME变量代替。)

3.初始化

在miniconda3/bin目录下,执行./conda init进行初始化。

cd ~/miniconda3/bin
./conda init
# 或者不进入目录直接执行
~/miniconda3/bin/./conda init

初始化后重新启动终端即可使用conda命令。

全局初始化即将conda的环境路径添加到用户目录的.bashrc文件中,终端每次启动时执行.bashrc添加conda的环境路径。

因为初始化conda会污染系统的环境,建议安装后不进行初始化,而是在终端中需要conda时再临时激活,这样就不会在每个终端中自动添加conda的环境路径。

# 如果权限不够修改相应文件权限
chmod 777 ~/miniconda3/bin/activate 
# 激活conda环境(推荐)
source ~/miniconda3/bin/activate

二、配置

(一)镜像源频道管理

因为conda的镜像源在国外,安装依赖包可能会比较慢,可以将镜像源地址修改为国内镜像源地址。

# 添加清华大学镜像站频道
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
# 添加频道后需要显示频道
conda config --set show_channel_urls yes

# 删除镜像源频道
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

# 查询已存在的频道
conda config --get channels

经测试使用镜像源无法创建conda环境。

2019年清华大学镜像站因未获授权停止服务,后经过与anaconda官方联系,清华大学镜像站2019-06-15恢复使用。官方声明:https://mirrors.tuna.tsinghua.edu.cn/news/restore-anaconda/

国内提供Conda镜像站的大学

清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
北京外国语大学: https://mirrors.bfsu.edu.cn/help/anaconda/
南京邮电大学: https://mirrors.njupt.edu.cn/
南京大学: http://mirrors.nju.edu.cn/
重庆邮电大学: http://mirror.cqupt.edu.cn/
上海交通大学: https://mirror.sjtu.edu.cn/
哈尔滨工业大学: http://mirrors.hit.edu.cn/#/home
(目测哈工大的镜像同步的是最勤最新的)

(二)Linux系统取消终端自动激活conda的base环境

Linux下安装好miniconda并进行全局初始化后,启动终端就会自动进入conda的base环境,可以使用以下命令取消。

conda config --set auto_activate_base false

三、使用

(一)Conda环境管理

1.环境创建
conda create -n [name] [python=version] [-y]

# 例如
## 安装python3最新版本,比如目前最新是3.10,如果python2最新版本同理。
conda create -n py3 python=3

## 安装指定python版本
conda create -n py39 python=3.9

## 不询问同意创建
conda create -n py39 python=3.9 -y

[name]:环境名称

[python=version]:python版本

[-y]:不询问默认同意创建

2.环境删除
conda remove -n [name] --all
# 示例
conda remove -n py39 --all
3.环境列表

在进行congda环境管理时常常需要查看已经存在的环境,这时候可以使用以下命令列出所有已创建的环境

# 三个命令任意一种
conda env list
conda info -e
conda info --envs
4.环境重命名

conda并没有提供重命名环境的命令,以下方法是克隆原来的环境,然后删除原来的环境,达到重命名的目的。

conda create -n python2 --clone py2
conda remove -n py2 --all

克隆py2到python2,然后删除py2。

(二)激活和退出环境

# 激活
conda activate [name]
## 示例
conda activate py39

# 退出
conda deactivate

激活conda的环境后,地址前面将会出现(环境名)所在路径的命令窗口(py39) C:\Users\Admin>

(三)依赖包管理

conda环境的依赖包管理工具由conda和pip两种,pip是python环境包管理工具,conda是conda环境下统一管理工具。

1.依赖包列表

conda环境下查看已经安装的依赖包可以用list选项列出。

conda list
# 或
pip list

conda list可以列出所有依赖包,pip list不能列出conda环境创建时默认的部分包比如pip自己本身和splite3等等,但后期自行安装的依赖包两个工具都可以管理。

2.安装/卸载/更新

在conda环境下安装依赖包可以使用conda命令或者pip命令,执行后依赖包将下载安装在当前的conda环境下

##### 安装依赖包 #####
# Canda
conda install [package=version] [-y]
## Conda示例
conda install requests -y
## 指定版本包
conda install requests=2.27.1 -y

# Pip
pip install [package==version]
## Pip示例
pip install requests
## 指定版本包
pip install requests==2.27.1


##### 卸载依赖包 #####
# 用pip命令安装的包必须用pip卸载
# conda uninstall可能卸载存在问题,建议用conda remove
conda uninstall [package] [-y]
conda remove [package] [-y]
pip uninstall [package] [-y]


##### 更新依赖包 #####
conda update [package] [-y]

[package]:依赖包名

[-y]:不询问同意安装(请注意有些命令是不能假-y参数的)

3.依赖包导出导入
# conda导出
conda list -e > requirements.txt
# conda导入
conda install --yes --file requirements.txt

# pip导出
pip freeze > requirements.txt
# pip导入
pip install -r requirements.txt

虽然conda可管理的包更多,但很多都是conda环境创建时自带的包,后手动安装的包使用conda和pip都可以管理,因此使用两个命令导出都可以,但是导入是要使用相应的命令导入。

四、清理Conda

Conda因为需要管理多个环境,在没有创建任何环境情况下,即使是精简版的miniconda体积也在700M左右(Windows版相对其他平台体积小一些),可以使用以下方法清理conda。

1.清理无用包
# 删除没有用的包(推荐)
conda clean -p
# tar打包
conda clean -t
# 删除所有安装的包及cache缓存
conda clean -y -all
2.删除pkgs目录

pkgs目录是依赖包缓存目录,当conda创建环境或者conda/pip命令安装的依赖包都会缓存在该目录下,目的是下次安装的时候不用从网络下载。另一个目的是当conda环境创建过程中网络中断停止,重新创建时也不用全部下载依赖包而仅仅是下载缺少的包。

# 删除目录
rm -r pkgs
# 重建目录
mkdir pkgs

先清理无用包,再删除pkgs目录。pkgs目录是创建conda环境时下载的初始包,环境创建成功后就没有用了,删除该目录后在创建conda环境时会自动重建。

3.查看空间占用

使用du命令查看miniconda安装目录下占用体积大小的文件和目录

# 在安装目录下执行命令
du -sh *

五、Conda卸载

1.Windows

如果是安装包安装的直接在程序管理里面卸载即可;如果是绿色版直接删除conda的安装目录,删除path环境变量中conda有关的路径即可。

2.Linux/macos
(1)删除安装目录
# 删除安装目录
rm -rf ~/miniconda3

miniconda安装在用户目录下的miniconda3目录,执行删除此目录

(2)删除配置

删除用户目录下.bashrc文件中与conda初始化有关的代码(如下)

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/lee/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/lee/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/lee/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/lee/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

如果当前目录需要立即更新删除miniconda后的环境,则立即执行.bashrc文件,否则终端重启也会重新读取.bashrc

# 执行.bashrc文件
source ~/.bashrc
  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值