Anaconda是一个用于集成包和环境的管理,致力于简化软件管理系统和部署,此外我们还可以利用conda指令对虚拟环境进行方便的创建、激活、删除、退出和配置。
一、创建环境
conda create -n open-cv python=3.10 -y
上述指令创建了一个名称为open-cv,python版本号为3.10的虚拟环境,-y表示遵循默认配置,后面无需再次确认。
二、激活环境
conda activate $pkg_name
注:Linux系统下如何没配置好./bashrc,可使用以下临时指令激活:
source ~/.bashrc
source activate $pkg_name
三、退出环境
conda deactivate
四、删除环境
conda remove -n open-cv --all
五、配置环境
通常来说,我们使用conda指令下载安装包时会使用默认的conda源下载,当时由于墙的阻碍,会导致我们下载安装包的速度极其缓慢,甚至会经常出现下载中断的现象。一个比较好的解决方案便是使用国内的镜像源,这样可以避免这种问题,下面首先列举出国内几个比较好的镜像源:
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因素,这些源有时候会被关闭,至于能不能用关键还是看运气了。下面梳理下一些常用的指令。
5.1 添加镜像源
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网站为这个,进入后我们可以根据我们的操作系统选择点击进入查看是否有我们所需要的版本号。当然,我们在使用pytorch官方指令安装的时候要注意去掉 -c ,这个加上去会使用默认的conda源。
注:Linux系统下,可以修改下配置文件:
sudo gedit ~/.condarc
然后将里面的channels按照上面所示进行相应的修改。
5.2 检查镜像源
conda config --show # 显示当前配置状态
conda config --get channels # 查看当前配置状态
敲定第一行指令会打印一些列信息,我们需要找到"channels"这个关键字下的信息进行查看。
5.3 删除当前添加的镜像源
conda config --remove channels https://pypi.mirrors.ustc.edu.cn/simple/
如果发现当前镜像源已失效,可以使用以下指令进行移除:
conda config --remove-key channels
六、常用指令
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到最新版本
pip3 install --upgrade pip
pip设置镜像源
pip3 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
pip查看当前镜像源
pip3 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
八、Anaconda的安装、卸载、复制
8.1 安装
Windows系统直接从官网下载安装即可,记得将路径添加到环境变量中去,或者安装时候选择“Add to path”。
Linux或OS系统,下到火狐浏览器安装下相应的文件,进入到指定目录:
bash Anaconda3-xxx.xx-Linux-x86_64.sh # 根据下载的conda版本有所不同
8.2 卸载
Windows系统:
Ctrl+S → 搜索控制面板 → 程序卸载 → 右键移除。
Linux或OS系统:
rm -rf ~/miniconda 或者 rm -rf ~/anaconda
8.3 复制
Linux系统下:
scp -r username@ip_address:/home/username/anaconda3/envs/$env_name ~/
以上指令能够实现将某台服务器下的虚拟环境复制到另一台服务器上当前位置下,其中:
username:用户名,如peissen
ip_address:ip地址,如172.31.71.101
env_name:所要复制虚拟环境名称
以上变量可依照自己的环境进行相应的替换。