Python/Conda包管理

Conda是一個開源[1]跨平台[2]語言無關[3]的包管理器與環境管理系統。[4][5]由「連續統分析」(Continuum Analytics)基於BSD許可證發布。[1][6][7][8][9][10]

Conda允許用戶方便地安裝不同版本的二進制軟件包與該計算平台需要的所有庫。還允許用戶在不同版本的包之間切換、從一個軟件倉庫下載包並安裝。

Conda是用Python語言開發,但能管理其他編程語言的項目(如R語言[3]),包括多語言項目。[3] Conda可安裝Python語言的包,[11]類似於其他基於Python的跨平台包管理器(如wheel或pip)。

一些基於Conda的工具軟件:

Conda的命令 編輯

首先打開命令行(最好用管理員模式打開) 。

輸入 conda --version 顯示conda版本號。

輸入 conda config --show 顯示conda各項配置信息。

輸入 conda config --show channels 顯示conda使用的channel。

輸入 conda info 顯示conda基本信息。

輸入 conda config --add channels conda-forge 增加conda-forge。一些包來自此channel

輸入conda upgrade --all 把所有工具包進行升級

輸入conda activate 环境名 切換到指定的環境。如果未指定環境名,則切換到默認的base環境。

輸入conda activate /path/to/environment-dir 切換到指定路徑作為環境。

輸入conda list 列出當前環境的所有已經安裝的包

輸入conda env list 列出所有的環境

輸入conda remove --name ENVNAME --all 刪除一個環境

輸入conda create -n 环境名 python=3 創建一個指定名稱的虛擬環境並指定python版本為3,conda會自動找3中最新的版本下載。

輸入conda install 包名,安裝指定的包

輸入conda remove 包名 ,卸載指定的包

輸入conda remove -n 环境名 --all // 刪除指定環境及下所有包

輸入conda update 包名 更新指定包

輸入conda create --clone ENVNAME --name NEWENV 克隆一個環境

輸入conda env export > environment.yaml或輸入conda env export --file python36_20190106.yaml 導出當前環境的包信息

輸入conda env update -n EnvName --file ConfigureName.yaml用配置文件升級當前環境

輸入conda env create -f environment.yaml 用配置文件創建新的虛擬環境

克隆一個環境:首先找到要複製的環境的路徑 conda info --env 然後利用克隆命令複製到你要配的賬戶:conda create -n NewEnvName --clone <path>

升級一個包(以tensorflow為例):

  1. 在Anaconda prompt下,運行anaconda search -t conda tensorflow
  2. 選擇符合自己系統的版本按照提示運行以下命令 anaconda show USER/PACKAGE //USER/PACKAGE是上一步查出來的Name
  3. 按照上步安裝提示執行conda install --channel https://conda.anaconda.org/anaconda tensorflow
  4. 輸入y,確認要下載安裝的包

升級環境的python的主版本號(如3.9升級為3.10):

  1. conda list -e > requirements.txt
  2. 修改requirements.txt每行內容,只保留包的名字,去掉版本號
  3. conda create -n 環境名 python=3.10
    • 或者 $ conda create --name <env> --file <this file>
  4. 激活新的環境
  5. conda install --file requirements.txt
  6. 一部分不能直接安裝的包,可如此手工安裝: conda install -c conda-forge fastapi

不建議conda和pip混合使用。可以把pip包編為conda包再安裝:

  1. conda install conda-build 安裝
  2. conda skeleton pypi PackageName 再把一個pip的包生成安裝流程單
  3. conda-build PackageName 創建conda包
  4. conda install --use-local PackageName 安裝本地的包

參考文獻 編輯

  1. 1.0 1.1 Conda.於2015年4月9日查閱.
  2. Building Conda Packages for Multiple Operating Systems. Pydannt. 29 January 2015 [9 April 2015]. 
  3. 3.0 3.1 3.2 Conda for Data Science(2015年5月21日).原文:「Conda works with Linux, OSX, and Windows, and is language agnostic, which allows us to use it with any programming language or even multi-language projects.」
  4. Gorelick (Author), Micha; Ozsvald, Ian. High Performance Python: Practical Performant Programming for Humans 1st. O'Reilly Media. September 2014: 370. ISBN 1449361595. 
  5. Jackson, Joab(2013年2月5日).Python gets a big data boost from DARPA.networkworld.於2014年10月30日查閱.
  6. State of Conda, Oct. 2014.Pen and Pants.於2015年4月9日查閱.
  7. Tony Ojeda; Sean Patrick Murphy; Benjamin Bengfort; Abhijit Dasgupta. Practical Data Science Cookbook. Packt Publishing Ltd. 25 September 2014 [19 March 2015]. ISBN 1783980257. 
  8. Hans, Petter. A Primer on Scientific Programming with Python. Springer. 2014 [19 March 2015]. ISBN 3642549594. 
  9. Yves Hilpisch. Python for Finance: Analyze Big Financial Data. O'Reilly Media. 11 December 2014 [19 March 2015]. 
  10. Continuum Analytics Launches Anaconda Server for Enterprise Package Management. Yahoo Finance. 30 January 2014 [19 March 2015]. 
  11. 3. Managing Python(2015年).原文:「So now let’s say you need Python 3 to learn programming, but you don’t want to overwrite your Python 2.7 environment by updating Python. You can create and activate a new environment named snakes, and install the latest version of Python 3 as follows:」
  12. Bioconda official website
  13. Template:Cite biorxiv
  14. Miniconda
  15. Anaconda repository

外部連結 編輯