conda是最常用的軟件安裝工具之一。conda能夠解決程序依賴問題扬舒,可以快速的安裝各種軟件阐肤,把我們從安裝軟件的大坑中解放出來。
1. 查看conda的環(huán)境配置
conda config --show
conda有時候安裝軟件會非常慢讲坎,需要設(shè)置國內(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è)置搜索時顯示通道地址
conda config --set show_channel_urls yes
2. 安裝軟件
conda能夠自動的解決軟件依賴問題,因此通過conda安裝軟件非常方便晨炕,減少了很多的工作量衫画。
這里以安裝最新版本的 R 為例,說明使用conda安裝軟件的過程瓮栗。
首先搜索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
然后安裝對應的軟件
conda install r
安裝特定版本的R:
conda install 軟件名=版本號
conda install r=3.5.1
最后可以更新已經(jīng)安裝的軟件
conda update R
3. 在不同環(huán)境下安裝軟件
默認的用conda安裝的軟件削罩,都會在系統(tǒng)目錄中能夠直接訪問,但很多時候不同版本的軟件的依賴關(guān)系不一樣费奸,需要設(shè)置單獨的環(huán)境安裝特定的軟件弥激。不同環(huán)境之間的軟件互相不會干擾。
3.1設(shè)置一個新的環(huán)境
conda create -n myenv
#當程序依賴于python2是愿阐,使用python=2來設(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導出環(huán)境
很多的軟件依賴特定的環(huán)境微服,我們可以導出環(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 # 刪除沒有用的包 --packages
conda clean -t # 刪除tar打包 --tarballs
conda clean -y -all # 刪除所有的安裝包及cache(索引緩存以蕴、鎖定文件、未使用過的包和tar包)
5. conda鏡像設(shè)置問題
conda的鏡像經(jīng)常不能用辛孵,比如會報錯:
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)只有最后參看清華的鏡像才能解決問題。
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