conda 從入門(mén)到精通

conda是最常用的軟件安裝工具之一。conda能夠解決程序依賴(lài)問(wèn)題,可以快速的安裝各種軟件,把我們從安裝軟件的大坑中解放出來(lái)。

1. 查看conda的環(huán)境配置

conda config --show

conda有時(shí)候安裝軟件會(huì)非常慢,需要設(shè)置國(guó)內(nèi)鏡像。
設(shè)置conda的鏡像

#設(shè)置清華鏡像
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/
#設(shè)置bioconda
conda config --add channels bioconda
conda config --add channels conda-forge
#設(shè)置搜索時(shí)顯示通道地址
conda config --set show_channel_urls yes

2. 安裝軟件

conda能夠自動(dòng)的解決軟件依賴(lài)問(wèn)題,因此通過(guò)conda安裝軟件非常方便,減少了很多的工作量。
這里以安裝最新版本的 R 為例,說(shuō)明使用conda安裝軟件的過(guò)程。

首先搜索conda中提供的R版本

conda search R
# Name                       Version           Build  Channel
#r                              3.3.2        r3.3.2_0  conda-forge
#r                              3.4.1        r3.4.1_0  conda-forge
#r                              3.5.1          r351_0  conda-forge

然后安裝對(duì)應(yīng)的軟件

conda install r

安裝特定版本的R:

conda install 軟件名=版本號(hào)

conda install r=3.5.1

最后可以更新已經(jīng)安裝的軟件

conda update R

3. 在不同環(huán)境下安裝軟件

默認(rèn)的用conda安裝的軟件,都會(huì)在系統(tǒng)目錄中能夠直接訪(fǎng)問(wèn),但很多時(shí)候不同版本的軟件的依賴(lài)關(guān)系不一樣,需要設(shè)置單獨(dú)的環(huán)境安裝特定的軟件。不同環(huán)境之間的軟件互相不會(huì)干擾。

3.1設(shè)置一個(gè)新的環(huán)境

conda create -n myenv
#當(dāng)程序依賴(lài)于python2是,使用python=2來(lái)設(shè)置python版本
conda create -n myenv python=2

3.2環(huán)境切換

#激活myenv環(huán)境
conda activate  myenv
#退出環(huán)境
conda deactivate

3.3刪除環(huán)境

conda remove -n myenv --all

3.4導(dǎo)出環(huán)境
很多的軟件依賴(lài)特定的環(huán)境,我們可以導(dǎo)出環(huán)境,給其他人重新還原環(huán)境。

#獲得環(huán)境中的所有配置
conda env export --name myenv > myenv.yml
#重新還原環(huán)境
conda env create -f  myenv.yml

4. 清理anaconda緩存

conda clean -p      # 刪除沒(méi)有用的包 --packages
conda clean -t      # 刪除tar打包 --tarballs
conda clean -y -all # 刪除所有的安裝包及cache(索引緩存、鎖定文件、未使用過(guò)的包和tar包)

5. conda鏡像設(shè)置問(wèn)題

conda的鏡像經(jīng)常不能用,比如會(huì)報(bào)錯(cuò):

Collecting package metadata (current_repodata.json): done
Solving environment: done

UnavailableInvalidChannel: The channel is not accessible or is invalid.
  channel name: anaconda/cloud
  channel url: https://mirrors.ustc.edu.cn/anaconda/cloud
  error code: 404

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.


CondaHTTPError: HTTP 000 CONNECTION FAILED for url [https://conda.anaconda.org/anaconda/linux-64/repodata.json](https://conda.anaconda.org/anaconda/linux-64/repodata.json)
Elapsed: -

最后參看了非常多的文章,發(fā)現(xiàn)只有最后參看清華的鏡像才能解決問(wèn)題。
Anaconda 鏡像使用幫助

最后,將主文件目錄下的 .condarc 修改成下面的內(nèi)容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

6. 更新:可以設(shè)置阿里云的鏡向

https://developer.aliyun.com/mirror/anaconda

channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.aliyun.com/anaconda/pkgs/main
  - http://mirrors.aliyun.com/anaconda/pkgs/r
  - http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.aliyun.com/anaconda/cloud
  msys2: http://mirrors.aliyun.com/anaconda/cloud
  bioconda: http://mirrors.aliyun.com/anaconda/cloud
  menpo: http://mirrors.aliyun.com/anaconda/cloud
  pytorch: http://mirrors.aliyun.com/anaconda/cloud
  simpleitk: http://mirrors.aliyun.com/anaconda/cloud
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容