Conda 安裝使用詳解

 

一、介紹

  • 開源包管理系統和環境管理系統 ,包括多種語言的包安裝,運行,更新,刪除,最重要的是可以解決包依賴問題
  • 支持語言包括 Python,R,Ruby,Lua,Scala,Java,JavaScript,C / C ++,FORTRAN
  • 支持在Windows,macOS和Linux上運行
  • Conda可以構建不同的環境,同時可以對環境進行保存,加載和切換操作
  • conda包和環境管理器包含在所有版本的Anaconda和Miniconda中

二、安裝

  • 下載 (Linux 64位系統爲例)

https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

下載地址:https://conda.io/en/latest/miniconda.html
清華鏡像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
  • 安裝

bash Miniconda3-latest-Linux-x86_64.sh

  • 配置環境
  • 查看是否安裝成功,如果安裝沒問題會顯示conda版本號
    conda --version
  • 新建環境
    conda create --name your_env_name
    your_env_name是環境名稱,對環境的操作後面會詳述
     
  • 激活環境
    conda activate
  • 添加channels (相當於R的鏡像源)
    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/bioconda/
    conda config --set show_channel_urls yes
    國內鏡像推薦:
    https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
    https://mirrors.ustc.edu.cn/help/anaconda.html

三、使用及命令詳解

文檔:https://conda.io/en/latest/

1. 包管理功能

conda的一大特點就是下載軟件資源會自動解決包依賴

  • 搜索包
  • 查看特定包
    conda search fastqc
  • 安裝包
  • 安裝特定包(需要確認安裝,可以看到conda已經將包依賴問題,環境問題已經解決)
    conda install fastqc

 

  • 安裝特定版本的軟件包(查看軟件版本可以使用conda search fastqc
    conda install fastqc=0.11.6

  • 安裝多個包
    conda install fastqc multiqc
  • 包更新
  • 更新特定包
    conda update fastqc
  • 更新Python
    conda update python
  • 更新conda本身及Anaconda元數據包
    conda update conda
    conda update anaconda
  • 防止包更新
    conda update fastqc --no-pin
    在環境的conda-meta目錄中,添加一個名爲pinned的文件,其中包含您不想更新的軟件包列表。
     
  • 包刪除
  • 刪除當前環境中的包
    conda remove pkg_name
  • 刪除特定環境中的包
    conda remove -n env_name pkg_name
  • 刪除多個包
    conda remove pkg_name1 pkg_name2
  • 確認刪除的包
    conda list
  • 包列表
  • 當前環境所有包
    conda list
  • 特定環境所有包
    conda list -n env_name

2. 環境管理功能

每個環境都有自己獨立的軟件或開發包列表,並會自動添加相應的環境變量和依賴關係。

  • 創建環境
  • 創建特定名字的環境
    conda create -n env_name
  • 使用特定版本的Python創建環境
    conda create -n env_name python=3.4
  • 使用特定包創建環境
    conda create -n env_name pandas
  • 用 environment.yml 配置文件創建環境
    conda env create -f nvironment.yml
    environment.yml 文件:
    name: stats2 channels: - javascript dependencies: - python=3.4 # or 2.7 - bokeh=0.9.2 - numpy=1.9.* - nodejs=0.10.* - flask - pip: - Flask-Testing
     
  • 導出環境文件environment
  • 導出environment.yml環境文件
    • 激活需要導出文件的環境

conda activate env_name

    • 導出

conda env_name export > environment.yml

  • 激活環境

conda activate env_name

  • 停用環境

conda deactivate env_name

  • 查看環境(當前環境用*表示)

conda info -envs

 

 

  • 刪除環境

conda remove --n env_name

  • 構建相同的conda環境(不同機器間的環境複製)
  • 激活需要導出配置文件的環境
    conda list --explicit > files.txt
  • 在同系統的不同機器執行
    conda create --name env_name -f files.txt
  • 克隆環境(同一臺機器的環境複製

conda create --name clone_env_name --clone env_name

3. 渠道管理

這個決定你從哪個站點,下載及安裝資源包

  • 添加新渠道到頂部,最高優先級

conda config --add channels new_channel

或者conda config --prepend channels new_channel

  • 添加新渠道到底部,最低優先級

conda config --append channels new_channel

4. 實例

創建不同版本的Python環境

  • Python 3.6 的 Anaconda 環境

conda create -n py36 python=3.6 anaconda

  • Python 2.7 的 Anaconda 環境

conda create -n py27 python=2.7 anaconda

5. 報錯解決

  • 錯誤:error while loading shared libraries
  • 解決辦法(以 libbz2.so.1.0 爲例):
  • 搜索find / -name libbz2.so.1.0
    • 比如得到路徑爲

/root/anaconda3/lib

  • 添加動態鏈接庫到配置文件:vim /etc/ld.so.conf
    include ld.so.conf.d/*.conf /root/anaconda3/lib
  • 查看是否配置成功ldconfig -v | grep bz2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章