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

外部链接 编辑