初学python者自学anaconda的正确姿势
事實(shí)上Anaconda 和 Jupyter notebook已成為數(shù)據(jù)分析的標(biāo)準(zhǔn)環(huán)境。
簡(jiǎn)單來說,Anaconda是包管理器和環(huán)境管理器,Jupyter notebook 可以將數(shù)據(jù)分析的代碼、圖像和文檔全部組合到一個(gè)web文檔中。
接下來我詳細(xì)介紹下Anaconda,并在最后給出Jupyter notebook:
1.Anaconda是什么?
2.如何安裝?
3. 如何管理包?
4.如何管理環(huán)境?
5.Jupyter notebook如何快速上手?
?
1.Anaconda是什么?
?anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。?[1]??因?yàn)榘舜罅康目茖W(xué)包,Anaconda 的下載文件比較大(約 515 MB),如果只需要某些包,或者需要節(jié)省帶寬或存儲(chǔ)空間,也可以使用Miniconda這個(gè)較小的發(fā)行版(僅包含conda和 Python)。
?
你可能已經(jīng)安裝了 Python,那么為什么還需要 Anaconda?有以下3個(gè)原因:
1)Anaconda 附帶了一大批常用數(shù)據(jù)科學(xué)包,它附帶了 conda、Python 和 150 多個(gè)科學(xué)包及其依賴項(xiàng)。因此你可以立即開始處理數(shù)據(jù)。
2)管理包
Anaconda 是在 conda(一個(gè)包管理器和環(huán)境管理器)上發(fā)展出來的。
在數(shù)據(jù)分析中,你會(huì)用到很多第三方的包,而conda(包管理器)可以很好的幫助你在計(jì)算機(jī)上安裝和管理這些包,包括安裝、卸載和更新包。
3)管理環(huán)境
為什么需要管理環(huán)境呢?
比如你在A項(xiàng)目中用了 Python 2,而新的項(xiàng)目B老大要求使用Python 3,而同時(shí)安裝兩個(gè)Python版本可能會(huì)造成許多混亂和錯(cuò)誤。這時(shí)候 conda就可以幫助你為不同的項(xiàng)目建立不同的運(yùn)行環(huán)境。
還有很多項(xiàng)目使用的包版本不同,比如不同的pandas版本,不可能同時(shí)安裝兩個(gè) Numpy 版本,你要做的應(yīng)該是,為每個(gè) Numpy 版本創(chuàng)建一個(gè)環(huán)境,然后項(xiàng)目的對(duì)應(yīng)環(huán)境中工作。這時(shí)候conda就可以幫你做到。
2. 如何安裝Anaconda?
Anaconda 可用于多個(gè)平臺(tái)( Windows、Mac OS X 和 Linux)。你可以在下面地址上找到安裝程序和安裝說明。根據(jù)你的操作系統(tǒng)是32位還是64位選擇對(duì)應(yīng)的版本下載。
(Anaconda已經(jīng)不支持Windows XP;同時(shí)查看自己電腦是32位還是64位,不要裝錯(cuò)了。)
官網(wǎng)地址:https://www.anaconda.com/download/#windows
Anaconda 的下載文件比較大(約 500 MB),因?yàn)樗綆Я?Python 中最常用的數(shù)據(jù)科學(xué)包。
如果計(jì)算機(jī)上已經(jīng)安裝了 Python,安裝不會(huì)對(duì)你有任何影響。實(shí)際上,腳本和程序使用的默認(rèn) Python 是 Anaconda 附帶的 Python。
注意:如果你是windows 10系統(tǒng),注意在安裝Anaconda軟件的時(shí)候,右擊安裝軟件→選擇以管理員的身份運(yùn)行。
?
完成安裝后,如果你是在windows上操作,按下面圖打開 Anaconda Prompt (或者 Mac 下的終端),后面我會(huì)將Anaconda Prompt統(tǒng)一稱為“終端”。
<img src="https://pic3.zhimg.com/50/v2-60a3932918cd00b883b9093ffe0f70ba_hd.jpg" data-caption="" data-size="normal" data-rawwidth="248" data-rawheight="335" class="content_image" width="248">注意:如果你是windows 10系統(tǒng),按下圖操作
<img src="https://pic3.zhimg.com/50/v2-9afae7b4240e4168ae0b3cb0aaff3616_hd.jpg" data-caption="" data-size="normal" data-rawwidth="451" data-rawheight="658" class="origin_image zh-lightbox-thumb" width="451" data-original="https://pic3.zhimg.com/v2-9afae7b4240e4168ae0b3cb0aaff3616_r.jpg">如果win10系統(tǒng)沒有按上述操作,后面會(huì)報(bào)下面的錯(cuò)誤信息:
<img src="https://pic2.zhimg.com/50/v2-1b0040f40d884a8177c6ff684d37347a_hd.jpg" data-caption="" data-size="normal" data-rawwidth="814" data-rawheight="506" class="origin_image zh-lightbox-thumb" width="814" data-original="https://pic2.zhimg.com/v2-1b0040f40d884a8177c6ff684d37347a_r.jpg">?
可以在終端或命令提示符中鍵入 conda list,以查看你安裝的內(nèi)容。
?如果安裝后,在Anaconda Prompt中都無法使用Conda命令,解決方法在這里:https://zhuanlan.zhihu.com/p/34337889
?
為了避免后面使用報(bào)錯(cuò),你需要先更新下所有包。在終端輸入更新所有包的命令:
conda upgrade --all?執(zhí)行了幾次conda upgrade --all都是上面的情況。
在網(wǎng)上查詢,然后執(zhí)行了conda update conda
再次執(zhí)行conda upgrade --all就正常了
?
?
3. 如何管理包?
安裝了 Anaconda 之后,就可以很方便的管理包了(安裝,卸載,更新)。
1)安裝包
在終端中鍵入:
conda install package_name例如,要安裝 pandas,在終端中輸入:
conda install pandas你還可以同時(shí)安裝多個(gè)包。類似 conda install pandas numpy 的命令會(huì)同時(shí)安裝所有這些包。還可以通過添加版本號(hào)(例如 conda install numpy=1.10)來指定所需的包版本。
?
2)卸載包
在終端中鍵入 :
conda remove package_names上面命令中的package_names是指你要卸載包的名稱,例如你想卸載pandas包:conda remove pandas
3)更新包
在終端中鍵入:
conda update package_name如果想更新環(huán)境中的所有包(這樣做常常很有用),使用:conda update --all。
4)列出已安裝的包
#列出已安裝的包 conda list例如我已經(jīng)成功安裝了numpy和pandas這兩個(gè)常用的包。
<img src="https://pic2.zhimg.com/50/v2-dc3296d183fd1f870635ecfea113fb1c_hd.jpg" data-caption="" data-size="normal" data-rawwidth="610" data-rawheight="388" class="origin_image zh-lightbox-thumb" width="610" data-original="https://pic2.zhimg.com/v2-dc3296d183fd1f870635ecfea113fb1c_r.jpg">如果不知道要找的包的確切名稱,可以嘗試使用 conda search search_term 進(jìn)行搜索。例如,我知道我想安裝numpy,但我不清楚確切的包名稱。我可以這樣嘗試:conda search num。
?
4.如何管理環(huán)境?conda 可以為你不同的項(xiàng)目建立不同的運(yùn)行環(huán)境。
0)安裝nb_conda用于notebook自動(dòng)關(guān)聯(lián)nb_conda的環(huán)境。
<img src="https://pic4.zhimg.com/50/v2-cd28aeeaf8e69e8daba4e70009e59a62_hd.jpg" data-caption="" data-size="normal" data-rawwidth="674" data-rawheight="436" class="origin_image zh-lightbox-thumb" width="674" data-original="https://pic4.zhimg.com/v2-cd28aeeaf8e69e8daba4e70009e59a62_r.jpg">1)創(chuàng)建環(huán)境
在終端中使用:
conda create -n env_name package_names上面的命令中,env_name 是設(shè)置環(huán)境的名稱(-n 是指該命令后面的env_name是你要?jiǎng)?chuàng)建環(huán)境的名稱),package_names 是你要安裝在創(chuàng)建環(huán)境中的包名稱。
例如,要?jiǎng)?chuàng)建環(huán)境名稱為 py3 的環(huán)境并在其中安裝 numpy,在終端中輸入 conda create -n py3 pandas。
<img src="https://pic3.zhimg.com/50/v2-e0dcd728b90c1f989a452abc1c644101_hd.jpg" data-caption="" data-size="normal" data-rawwidth="674" data-rawheight="227" class="origin_image zh-lightbox-thumb" width="674" data-original="https://pic3.zhimg.com/v2-e0dcd728b90c1f989a452abc1c644101_r.jpg">2)創(chuàng)建環(huán)境時(shí),可以指定要安裝在環(huán)境中的 Python 版本
當(dāng)你同時(shí)使用 Python 2.x 和 Python 3.x 中的代碼時(shí)這很有用。要?jiǎng)?chuàng)建具有特定 Python 版本的環(huán)境,例如創(chuàng)建環(huán)境名稱為py3,并安裝最新版本的Python3在終端中輸入:
conda create -n py3 python=3?
或也可以這樣創(chuàng)建環(huán)境名稱為py2,并安裝最新版本的Python2:
conda create -n py2 python=2?
?
因?yàn)槲易龅捻?xiàng)目不同,有時(shí)候會(huì)用到Python2,還有時(shí)候會(huì)用到Python3。所以我在自己的計(jì)算機(jī)上創(chuàng)建了這兩個(gè)環(huán)境,并分別取了這樣的環(huán)境名稱:py2,py3。這樣我可以根據(jù)不同的項(xiàng)目輕松使用不同版本的python。
如果你要安裝特定版本(例如 Python 3.6),請(qǐng)使用 conda create -n py python=3.6
?
3)進(jìn)入環(huán)境
在 Windows 上,你可以使用 activate my_env進(jìn)入。在 OSX/Linux 上使用 source activate my_env 進(jìn)入環(huán)境。
進(jìn)入環(huán)境后,你會(huì)在終端提示符中看到環(huán)境名稱,下面圖片是我進(jìn)入py3的環(huán)境(這里的py3是我上面創(chuàng)建環(huán)境時(shí)自己起的名稱,你可以起個(gè)自己喜歡的名稱)。
<img src="https://pic2.zhimg.com/50/v2-f6899ad25feedc55f65b90a2ea4170de_hd.jpg" data-caption="" data-size="normal" data-rawwidth="617" data-rawheight="115" class="origin_image zh-lightbox-thumb" width="617" data-original="https://pic2.zhimg.com/v2-f6899ad25feedc55f65b90a2ea4170de_r.jpg">進(jìn)入環(huán)境后,我可以用conda list 查看環(huán)境中默認(rèn)安裝的幾個(gè)包:
<img src="https://pic3.zhimg.com/50/v2-11cab00b20c13cdc5af9d741854bed67_hd.jpg" data-caption="" data-size="normal" data-rawwidth="523" data-rawheight="301" class="origin_image zh-lightbox-thumb" width="523" data-original="https://pic3.zhimg.com/v2-11cab00b20c13cdc5af9d741854bed67_r.jpg">在環(huán)境中安裝包的命令與前面一樣:conda install package_name。
不過,這次你安裝的特定包僅在你進(jìn)入環(huán)境后才可用。
?
3)離開環(huán)境
在 Windows 上,終端中輸入:
deactivate在 OSX/Linux 上 輸入:
source deactivate?
4)共享環(huán)境
共享環(huán)境非常有用,它能讓其他人安裝你的代碼中使用的所有包,并確保這些包的版本正確。比如你開發(fā)了一個(gè)藥店數(shù)據(jù)分析系統(tǒng),你要提交給項(xiàng)目部署系統(tǒng)的王二狗來部署你的項(xiàng)目,但是王二狗并不知道你當(dāng)時(shí)開發(fā)時(shí)使用的是哪個(gè)python版本,以及使用了哪些包和包的版本。這怎么辦呢?
?
你可以在你當(dāng)前的環(huán)境中終端中使用 conda env export > environment.yaml 將你當(dāng)前的環(huán)境保存到文件中包保存為YAML文件(包括Pyhton版本和所有包的名稱)。
命令的第一部分 conda env export 用于輸出環(huán)境中的所有包的名稱(包括 Python 版本)。
<img src="https://pic4.zhimg.com/50/v2-b136666ef127c5b65075a485ce2b2b41_hd.jpg" data-caption="" data-size="normal" data-rawwidth="611" data-rawheight="113" class="origin_image zh-lightbox-thumb" width="611" data-original="https://pic4.zhimg.com/v2-b136666ef127c5b65075a485ce2b2b41_r.jpg">在“notebook工作文件夾”下(及你在終端中上圖的路徑)可以看到導(dǎo)出的環(huán)境文件:
<img src="https://pic3.zhimg.com/50/v2-9eaa081fbe54c59d35c792dd968a3515_hd.jpg" data-caption="" data-size="normal" data-rawwidth="280" data-rawheight="191" class="content_image" width="280">在 GitHub 上共享代碼時(shí),最好同樣創(chuàng)建環(huán)境文件并將其包括在代碼庫(kù)中。這能讓其他人更輕松地安裝你的代碼的所有依賴項(xiàng)。
導(dǎo)出的環(huán)境文件,在其他電腦環(huán)境中如何使用呢?
首先在conda中進(jìn)入你的環(huán)境,比如activate py3
然后在使用以下命令更新你的環(huán)境:
#其中-f表示你要導(dǎo)出文件在本地的路徑,所以/path/to/environment.yml要換成你本地的實(shí)際路徑 conda env update -f=/path/to/environment.yml?
對(duì)于不使用 conda 的用戶,我通常還會(huì)使用 pip freeze > environment.txt 將一個(gè) txt文件導(dǎo)出并包括在其中。
具體見這里:https://pip.pypa.io/en/stable/reference/pip_freeze/
舉個(gè)例子你可能更容易理解這個(gè)使用場(chǎng)景:
首先,我在自己的電腦上在conda中將項(xiàng)目的包導(dǎo)出成environment.txt 文件:
<img src="https://pic1.zhimg.com/50/v2-8fbf8a5edd8d5bf1ba5cca1097098168_hd.jpg" data-caption="" data-size="normal" data-rawwidth="675" data-rawheight="120" class="origin_image zh-lightbox-thumb" width="675" data-original="https://pic1.zhimg.com/v2-8fbf8a5edd8d5bf1ba5cca1097098168_r.jpg">然后我將該文件包含在項(xiàng)目的代碼庫(kù)中,其他項(xiàng)目成員即使在他的電腦上沒有安裝conda也可以使用該文件來安裝和我一樣的開發(fā)環(huán)境:
他在自己的電腦上進(jìn)入python命令環(huán)境,然后運(yùn)行以下命令就可以安裝該項(xiàng)目需要的包:
pip install -r /path/requirements.txt其中/path/requirements.txt是該文件在你電腦上的實(shí)際路徑。
<img src="https://pic2.zhimg.com/50/v2-9d5f722f0c60393b74730a6f2734cac6_hd.jpg" data-caption="" data-size="normal" data-rawwidth="834" data-rawheight="222" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic2.zhimg.com/v2-9d5f722f0c60393b74730a6f2734cac6_r.jpg">5)列出環(huán)境
我有時(shí)候會(huì)忘記自己創(chuàng)建的環(huán)境名稱,這時(shí)候用 conda env list 就可以列出你創(chuàng)建的所有環(huán)境。
你會(huì)看到環(huán)境的列表,而且你當(dāng)前所在環(huán)境的旁邊會(huì)有一個(gè)星號(hào)。默認(rèn)的環(huán)境(即當(dāng)你不在選定環(huán)境中時(shí)使用的環(huán)境)名為 root。
<img src="https://pic3.zhimg.com/50/v2-8f7a92b366e5eaf576ad2ee38393dcac_hd.jpg" data-caption="" data-size="normal" data-rawwidth="615" data-rawheight="146" class="origin_image zh-lightbox-thumb" width="615" data-original="https://pic3.zhimg.com/v2-8f7a92b366e5eaf576ad2ee38393dcac_r.jpg">6)刪除環(huán)境
如果你不再使用某個(gè)環(huán)境,可以使用 conda env remove -n env_name 刪除指定的環(huán)境(在這里環(huán)境名為 env_name)。
?
最后重新再?gòu)?qiáng)調(diào)下,不要被上面的命令嚇到。雖然上述命令多,給了誰都記不住的。后面你跟著我在知乎上多做項(xiàng)目,用的多了自然記住了。你只需要跟著上面步驟操作下,并理解了每一步是干什么的就可以了。后面遇到要做的事情,忘記了回頭查這個(gè)文檔就可以了。
conda的官方文檔:https://conda.io/docs/user-guide/tasks/index.html
?
按照上面的步驟你親自操作一遍后,你已經(jīng)學(xué)會(huì)了Anaconda,并安裝好你的數(shù)據(jù)分析Pyhton環(huán)境了,接下來你就可以愉快的使用Jupyter notebook來做數(shù)據(jù)分析了:
jupyter notebook 可以做哪些事情??
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/zixia/p/9087375.html
總結(jié)
以上是生活随笔為你收集整理的初学python者自学anaconda的正确姿势的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis详解(一)------ red
- 下一篇: iOS性能优化 启动