Conda的定位是語言無關的包、依賴和環境管理系統。正如它的文檔官網的第一句話寫著:
Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN, and more.
不過,目前似乎只有python語言下用的多。
官網地址:https://docs.conda.io/en/latest/
Conda的安裝Conda的安裝可以通過Miniconda和Anaconda這兩個安裝程序實現。它們之間的區別在此連結找到:https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html#anaconda-or-miniconda
我們只希望最小化安裝,所以,選擇了Miniconda。安裝地址:https://docs.conda.io/en/latest/miniconda.html。在下載Miniconda的安裝腳本後,執行:
chmod +x Miniconda2-latest-Linux-x86_64.sh
./Miniconda2-latest-Linux-x86_64.sh
然後根據Miniconda的安裝程序提示,一路「Yes」下一步即可。
安裝效果如下:
最後,將conda的安裝路徑添加到環境變量中。比如我的是/home/zhaizj/miniconda2/bin/。執行conda list確認安裝是否完成:
Conda的概念Conda package一個Conda package本質就是一個tarball包或者一個.conda文件。
包中包括文件:
系統級別的庫
Python或者其它模塊
可執行程序或者組件
info目錄下的元數據文件
被直接安裝的文件集合
以下是一個conda pacage的目錄結構:
.
├── bin
│ └── pyflakes
├── info
│ ├── LICENSE.txt
│ ├── files
│ ├── index.json
│ ├── paths.json
│ └── recipe
└── lib
└── python3.5
Conda channelsConda channel是一個遠端地址,用於存放conda package。conda安裝包的時候會從默認的channel搜索和下載。當然,我們在安裝包時,也可以指定channel:
conda install scipy --channel conda-forge
Conda environmentsconda environment是一個目錄,它包含了你所安裝的conda軟體包的特定集合。例如,你可能有一個安裝了NumPy 1.7及其依賴項的環境,另一個安裝了NumPy 1.6用於傳統測試的環境。如果你改變了一個環境,其他環境就不會受到影響。你可以輕鬆地激活或停用環境,這就是你在它們之間切換的方式。你也可以通過給別人一份你的environment.yaml文件的副本來與他們分享你的環境。
使用Conda查看conda信息conda info
包管理安裝包:
conda install [packagename]
搜索包:
conda search [packagename]
列出已經安裝的包:
conda list
Channel管理增加channel
conda config --add channels new_channel
環境管理創建一個environment:
conda create --name snowflakes
切換environment:
conda activate snowflakes
列表出所有environment:
conda info --envs
管理python版本
以下命令創建了一個snakes evironment,同時指定這個環境下使用python3.9。
conda create --name snakes python=3.9
配置Conda.condarc文件是一個YAML文件,位於用戶目錄下。我們在.condarc文件中可以配置channel、代理、環境目錄等。除了可以使用文本編輯器編輯它,還可以使用命令行實現:
conda config --add channels conda-forge
通過命令,我們增加了一個channel。也可以設置.condarc文件中某個配置的值,比如:
conda config --set auto_update_conda False
<END>
歡迎關注本公眾號:
往期精彩文章:
資深DevOps工程師揭秘:為什麼你對於DevOps無從下手?(原則篇)
軟體配置管理實踐——基於Ansible和Nacos