CentOS 7.6html
有預裝 python 2.7python
Anaconda
是Python的一種發行版。包含了:linux
(1)condadocker
(2)某個版本的pythoncentos
(3)預裝好的packagesbash
Anaconda Distribution還有Anaconda Navigator,提供了界面化的操做。babel
其實還有
Miniconda
,只有最基本的conda和python。ide
###二、Conda工具
conda
是Anaconda下的包管理與環境管理工具。也能夠單獨安裝。ui
Conda 來源於 Anaconda repo and cloud (http://anaconda.org/)
pip(pip Installs Packages) 來源於 PyPI (https://pypi.python.org/pypi)
Anaconda存儲庫中提供了超過1,500個包,但與PyPI上提供的150,000多個軟件包相比,它仍然很小。
pip 是 python 官方自帶的包管理工具,只能安裝 python 軟件。
Conda包不只限於Python軟件。它們還可能包含C或C ++庫,R包或任何其餘軟件。在這個意義上,它不像pip,更像是apt或yum等跨平臺版本。
Conda 是一個與語言無關的跨平臺環境管理器。
Pip沒有內置的環境支持,除非使用第三方 virtualenv。
下載地址:https://www.anaconda.com/distribution/
有 Python 3.7 和 Python 2.7 兩個版本提供下載:
咱們下載 Python 3.7版本,即Anaconda3-2018.12-Linux-x86_64.sh
文件。
bash Anaconda3-2018.12-Linux-x86_64.sh
在當前路徑安裝後,會生成anaconda3
目錄和一些隱藏文件。
坑:安裝報錯
Anaconda3-2018.12-Linux-x86_64.sh: line 353: bunzip2: command not found
解決方案:安裝 bzip2 包
yum install bzip2
source .bashrc
conda --version
python --version
(python 3.7版本會覆蓋以前 centos 預裝的2.7版本)
安裝成功後,機器自帶的 pip 和 python、python3 都會被Conda接管。
# -------------------------- ### 建立環境 conda create -n ds conda create -n ds python=3.7 (推薦安裝好 python,下面會說緣由) conda create -n ds python=3.4 scipy=0.15.0 astroid babel # 還能夠經過yml的環境文件(下面會介紹) # 克隆環境(下面會介紹) # -------------------------- ### 激活環境 source activate ds conda activate ds # -------------------------- ### 退出環境 source deactivate conda deactivate # -------------------------- ### 刪除環境 conda remove -n ds --all # -------------------------- ### 列出全部環境(一開始有一個名爲base的默認環境) conda info -e # --------------------------
conda create -n new_ds --clone ds
用這個功能能夠很好的遷移 python 項目的依賴環境,取代傳統的 pip + virtualenv 的方式。
一、先激活環境 二、再導出環境配置文件 conda env export > environment.yml 三、再根據環境配置文件生成新環境 conda env create -f environment.yml 四、再激活新環境
一個典型的環境配置文件environment.yml
以下:
name: ds channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - defaults dependencies: - ca-certificates=2019.1.23=0 - certifi=2019.3.9=py37_0 - pip: - ansiwrap==0.8.4 - attrs==19.1.0 prefix: /mnt/ds/anaconda3/envs/ds
記得修改
prefix
路徑,由於每臺機器的anaconda3安裝路徑可能不同。
#####坑1:共享環境不適用不一樣的操做系統(好比 linux 遷移到 mac)
解決辦法:仍是 docker 大法好啊!!
緣由未知……待解決
解決辦法:仍是 docker 大法好啊!!
略
略
我不太清楚 構建相同的conda環境 和 共享環境 有什麼具體區別
例若有 base
(默認) 和 ds
兩個環境。
#####(1)推薦建立新環境的時候,指定安裝 python
即用conda create -n ds python=3.7
取代conda create -n ds
,否則會有一個坑,即用 pip 習慣性的去安裝包的時候,由於 ds 環境沒有裝 python,天然就沒有 pip 命令,那麼 conda 的機制就會去使用 base 環境的 pip,那麼裝好的包雖然能在 ds 裏用,但也能在 base 裏用,最重要的是,若之後要作環境遷移,導出的 yml 文件,這個包只會存在 base 裏,而不會在 ds 裏!
#####(2)Jupyter notebook 選擇 conda 環境
雖然機子上可能有多個 conda 環境,但坑的是 Jupyter notebook 始終都會選擇 默認的 base 環境。
解決辦法:
是安裝nb_conda_kernels
包:conda install nb_conda_kernels
使用方法:
A、新建notebook時指定環境:
B、修改已存在的notebook的環境:
略
conda的設計理念:幾乎將全部的工具、第三方包都當作package對待,甚至包括anaconda、python和conda自身!
# -------------------------- ### 查找包 conda search numpy # 按照全稱查找 conda search --full-name python # -------------------------- ### 安裝包 conda install numpy # 指定版本 conda install scipy=0.15.0 # 指定環境 (其餘的命令也能夠用這種寫法) conda install -n python34 numpy # -------------------------- ### 更新包 conda update -n python34 numpy # 更新anaconda conda update anaconda # 更新conda conda update conda # 更新 python conda update python # -------------------------- ### 刪除包 conda remove -n python34 numpy # -------------------------- ### 查看安裝了的包 conda list conda list zlib # --------------------------
(1)conda / Anaconda.org
(2)pip
當conda和pip一塊兒用於建立環境時會出現問題
解決方案:https://www.anaconda.com/using-pip-in-a-conda-environment/
# 添加Anaconda的TUNA鏡像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
https://docs.anaconda.com/anaconda/install/
https://docs.conda.io/projects/conda/en/latest/user-guide/overview.html