引言
Anaconda是一个用于集成包和环境的管理工具,致力于简化软件管理系统和部署。此外我们还可以利用conda指令对虚拟环境进行方便的创建、激活、删除、退出和配置。pip 则是Python 包的管理工具,提供了对Python 包的查找、下载、安装、卸载的功能。
由于笔者在日常的开发使用过程中,时不时会碰到对一些环境的管理和相关包的一些操作,然而网络上充斥着大量老旧且无效解决方案的博客,有时甚至会使原本已经配置好的炼丹装置毁于一旦,俗称“坑爹”。以下方案均经过笔者的有效验证,可放心使用。
Anaconda安装、卸载、复制
安装
Windows系统直接从官网下载安装即可,记得将路径添加到环境变量中去,或者安装时候选择“Add to path”。
Linux或OS系统,下到火狐浏览器安装下相应的文件,进入到指定目录,执行以下指令即可:
# 下载的conda版本有所不同,按需下载
bash Anaconda3-xxx.xx-Linux-x86_64.sh
卸载
Windows系统:
Ctrl+S → 搜索控制面板 → 程序卸载 → 右键移除
Linux或OS系统:
rm -rf ~/miniconda 或者 rm -rf ~/anaconda
复制
Linux系统下:
scp -r username@ip_address:/home/username/anaconda3/envs/$env_name ~/
以上指令能够实现将某台服务器下的虚拟环境复制到另一台服务器上当前位置下,其中:
username:用户名,cvhub
ip_address:ip地址,172.31.20.xx
env_name:所要复制的虚拟环境名称
以上变量可依照自己的实际环境进行相应的替换即可。
Anaconda环境创建
conda create -n cvhub python=3.8 -y
上述指令创建了一个名称为cvhub,python版本号为3.8的虚拟环境,-y表示遵循默认配置,后面无需再次确认。注意,在安装时如没有必要尽量不要选择最新的python版本号,以确保后续配置或安装包不会出现python版本不支持的现象。
Anaconda环境激活
conda activate $pkg_name
$pkg_name为你所创建的环境名,此处为cvhub。(下同)
注:Linux系统下如果没配置好./bashrc,会导致conda指令失效,可使用以下临时指令激活:
source ~/.bashrc
source activate $pkg_name
Anaconda环境退出
conda deactivate
退出环境时无需增加扩展名,默认退出当前环境。
Anaconda环境删除
conda remove -n $pkg_name --all -y
需要注意的是这里–all参数是必加的。
Anaconda环境配置
通常来说,当我们使用conda指令下载安装包时会默认使用conda源下载。但是,由于xx不可描述的因素影响,会导致安装包的下载速度极其缓慢,甚至会经常出现下载中断的现象。我想这对于绝大多数刚入门的新手应该不陌生,你是其中一个吗?_
一个比较好的解决方案便是加载国内的镜像源,这样可以避免这种问题,下面首先列举出国内几个比较常用的镜像源:
http://mirrors.aliyun.com/pypi/simple/ # 阿里云
https://pypi.mirrors.ustc.edu.cn/simple/ # 中国科技大学
http://pypi.douban.com/simple/ # 豆瓣(douban)
https://pypi.tuna.tsinghua.edu.cn/simple/ # 清华大学
http://pypi.mirrors.ustc.edu.cn/simple/ # 中国科学技术大学
当然,因为一些xx因素,这些源有时候会被关闭,至于能不能用关键还是看运气了。下面梳理下一些常用的指令。
添加镜像源
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/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
最后一行是用于显示下载的通道源。以pytorch下载和按照为例,我们应该先到对应源的网站上去查看是否有相应的镜像链接。比如清华源中pytorch网站为这个[1],进入后我们可以根据我们的操作系统选择点击进入查看是否有我们所需要的版本号。当然,我们在使用pytorch官方指令安装的时候要注意去掉 -c ,这个加上去会使用默认的conda源。
而在Linux系统下,可以尝试修改以下配置文件,然后将里面的channels按照上面所示的镜像源地址添加进去即可:
sudo gedit ~/.condarc
检查镜像源
conda config --show # 显示当前配置状态
conda config --get channels # 查看当前配置状态
敲定第一行指令会打印一些列信息,我们需要找到"channels"这个关键字下的信息进行查看。
删除镜像源
# 删除当前的镜像源
conda config --remove channels https://pypi.mirrors.ustc.edu.cn/simple/
# 移除所有镜像源
conda config --remove-key channels
Anaconda常用指令汇总
conda -h # 通过使用帮助指令,可以对其他指令功能一目了然
conda --version # 查看当前的conda版本
conda list # 查看当前已安装包
conda install $pkg_name # 安装包
conda uninstall $pkg_name # 卸载包
conda info --envs # 显示当前以创建的虚拟环境
conda update conda # 检查并更新到conda最新版本
conda update --all # 更新所有的安装包
conda update python # 将python更新至最新版本
conda remove --name $pkg_name # 删除当前虚拟环境下的某个包
conda remove --name $env_name $pkg_name # 删除某个虚拟环境下的某个包
conda env export -n $env_name -f $env_name.yml # 将配置导出为yml文件
conda env upload -f $env_name.yml # 上传yml文件
conda create -n $env_name -clone $cp_env_name # 复制当前虚拟环境
conda search $pkg_name # 搜索某个包的信息
conda clean -p # 清理没有使用过的包
conda list -e > requirements.txt # 将当前虚拟环境下的所有包进行导出
pip指令大全
- 更新到最新版本
pip install --upgrade pip
- 设置镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
- pip删除镜像源
pip config unset global.index-url
- pip查看当前镜像源
pip config list
- pip查看当前镜像源
pip config list
- pip安装包
pip install $pkg_name -i http://pypi.douban.com/simple # 临时使用指定镜像源安装包,可自行更改
如报不受信任的错,可添加以下指令解决:
pip install -U scikit-learn -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
如果想要一次性设置,Linux下,可以修改 ~/.pip/pip.conf 文件,若不存在则手动创建:
# vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
Windows系统下则在当前系统用户目录下创建一个pip文件夹,如C:\Users\Administrator\pip,然后在当前目录下创建并编辑pip.ini文件:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
这里的镜像源可根据需要自行修改。除此之外,我们还可以在Pycharm下进行设置:
File → Settings → Project:Name → Project Interpreter → ‘+’ 添加模块 → Manage Repositories → 将相应镜像源添加进去。
- 用pip生成当前环境下的requirements文件
pip freeze > requirements.txt
- 用pip安装当前环境下的requirements文件
pip install -r requirements.txt
常见问题汇总
-
如果用pip提示找不到相关库,可以切换下用conda指令安装;
-
如果用某个源下载速度满,即可多切换下不同的镜像源试试,比如有时候用清华源只有10k,换个豆瓣源有2M多;
-
如果提示连接超时,代理设置有问题的,可以检查下自己的vpn是否开启了全局,可改成PAC模式;
-
如果出现“conda Collecting package metadata (current_repodata.json): failed”,说明当前设置的镜像源可能失效,可直接通过下面指令依次执行后,再重新安装你需要的包:
cls
conda config --remove-key channels
conda update conda
conda update --all
conda config --add channels conda-forge
conda config --set channel_priority flexible
总结
CVHub团队热衷于输出高质量的原创干货文章,每一篇文章均经过我们的精雕细琢,致力于为读者烹饪更加美味的CV技术佳肴。如果这篇文章能够帮助到你,请不要吝惜你的互动,一键三连即可。你的点赞和转发便是对我们最大的鼓励,日后必将写出更加精彩和高质量的文章回馈给读者。
References
[1]https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/: t
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群