介紹
Anaconda是開源的Python包管理器限煞。既是Python各種庫(kù)的大禮包集合,特別是數(shù)據(jù)分析和科學(xué)計(jì)算方面的庫(kù)都預(yù)裝了秕岛,也是一個(gè)能創(chuàng)建虛擬機(jī)環(huán)境的工具。
我為什么安裝
我安裝它的原因不是科學(xué)計(jì)算馏谨,是因?yàn)槲乙肁kShare庫(kù)獲取數(shù)據(jù)吹菱,要求Python 3.6 及以上版本。我電腦Python 2.7.15吱韭,又不想升級(jí)吆豹,所以安裝anaconda,用anaconda創(chuàng)建虛擬機(jī)環(huán)境理盆,在虛擬機(jī)環(huán)境使用Python3.7痘煤,本地電腦保持原版本不變。
安裝過(guò)程
下載地址www.anaconda.com選擇download猿规,
下載最新版本安裝包Anaconda3-2020.02-Windows-x86_64.exe衷快,
這里選擇安裝目錄,將來(lái)創(chuàng)建的各個(gè)版本Python的環(huán)境文件也都放在這個(gè)目錄的子目錄下
這里我勾選了下面姨俩,沒有勾選上面蘸拔,開始安裝
怎么用
打開
安裝完成,在開始搜索ana會(huì)出現(xiàn)Anaconda prompt环葵,我是以管理員身份運(yùn)行的调窍,不用管理員權(quán)限應(yīng)該也沒問(wèn)題。
打開后窗口最前面的(base)表示你正處于Anaconda的基礎(chǔ)環(huán)境张遭,基礎(chǔ)環(huán)境一般不真正使用邓萨,要根據(jù)自己具體項(xiàng)目需要建立自己的環(huán)境,否則這個(gè)工具的威力大打折扣了。
對(duì)比base環(huán)境的Python版本和正常命令行工具的Python版本缔恳,可以看到兩者互不影響宝剖。
Ana窗口
普通cmd
修改channels
建立環(huán)境的時(shí)候要下載很多包,如果下載速度慢會(huì)導(dǎo)致下載timeout而終止歉甚,會(huì)報(bào)錯(cuò)诈闺,
解決辦法是把channels設(shè)置為清華大學(xué)的鏡像地址,在命令行依次執(zhí)行下面命令铃芦。建議先設(shè)置下面的channels雅镊,然后創(chuàng)建你的第一個(gè)環(huán)境。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/
新建環(huán)境
建立自己環(huán)境的命令conda create -n ak_test python=3.7.6刃滓, ak_test是新建環(huán)境的名稱仁烹,叫什么隨意,3.7.6是我指定的版本咧虎,需要哪個(gè)版本就寫哪個(gè)卓缰。
到這里說(shuō)明創(chuàng)建ak_test環(huán)境完成,同時(shí)提示進(jìn)入環(huán)境和離開環(huán)境的命令砰诵。
執(zhí)行conda activate ak_test征唬,看到(base)變成了(ak_test),說(shuō)明已經(jīng)進(jìn)入了ak_test環(huán)境茁彭。
安裝akshare
這步每個(gè)人都不一樣总寒,按需要安裝自己要的庫(kù)±矸危科學(xué)計(jì)算類的庫(kù)Anaconda是預(yù)裝的摄闸,安裝更簡(jiǎn)單。
我建立這個(gè)環(huán)境是要使用akshare妹萨,安裝年枕,報(bào)錯(cuò)time out
是國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題,使用阿里云鏡像進(jìn)行安裝乎完,命令如下
pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --upgrade
安裝成功熏兄!
使用akshare
下面兩個(gè)小例子展示akshare庫(kù)的功能。
股票策略指數(shù)曲線
aksharetest.py
import akshare as ak
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
stock_df = ak.zdzk_fund_index(30, plot=False)
futures_df = ak.zdzk_fund_index(32, plot=False)
fig = plt.figure(111, figsize=(20, 10), dpi=300)
adjust_stock_df = stock_df["20150102":] / stock_df["20150102"] * 1000
adjust_stock_df.plot(linewidth=4)
adjust_futures_df = futures_df["20150102":] / futures_df["20150102"] * 1000
adjust_futures_df.plot(linewidth=4)
plt.title("index example")
plt.legend()
plt.show()
會(huì)畫出圖片
股票指數(shù)查詢
aksharetest02.py
import akshare as ak
stock_df = ak.stock_zh_index_spot()
print(stock_df)
ak_test環(huán)境和base是隔離的
如果執(zhí)行conda deactivate離開這個(gè)環(huán)境切換到(base)環(huán)境树姨,可以看到找不到akshare模塊摩桶,說(shuō)明base和ak_test環(huán)境是隔離的。
自建環(huán)境像是新建了個(gè)虛擬機(jī)
下面是vmware的虛擬機(jī)文件目錄和Anaconda的自建環(huán)境文件目錄娃弓,是不是有點(diǎn)像
總結(jié)
Anaconda可以迅速建立一套Python的開發(fā)運(yùn)行環(huán)境典格,環(huán)境和宿主機(jī)互不影響岛宦,所建不同環(huán)境之間也互不影響台丛,少了很多Python和庫(kù)版本上的牽絆。
它在包管理上的使用,本文沒有涉及挽霉。如果需要的庫(kù)是anaconda里面預(yù)裝的庫(kù)和包防嗡,過(guò)程比本文要簡(jiǎn)單,堪稱一鍵裝機(jī)侠坎。