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
是Anaconda下的包管理與環境管理工具。也能夠單獨安裝。工具
Conda 來源於 Anaconda repo and cloud (http://anaconda.org/)ui
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安裝路徑可能不同。
解決辦法:仍是 docker 大法好啊!!
緣由未知……待解決
解決辦法:仍是 docker 大法好啊!!
略
略
我不太清楚 構建相同的conda環境 和 共享環境 有什麼具體區別
例若有 base
(默認) 和 ds
兩個環境。
即用conda create -n ds python=3.7
取代conda create -n ds
,否則會有一個坑,即用 pip 習慣性的去安裝包的時候,由於 ds 環境沒有裝 python,天然就沒有 pip 命令,那麼 conda 的機制就會去使用 base 環境的 pip,那麼裝好的包雖然能在 ds 裏用,但也能在 base 裏用,最重要的是,若之後要作環境遷移,導出的 yml 文件,這個包只會存在 base 裏,而不會在 ds 裏!
雖然機子上可能有多個 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