ubuntu下搭建一个数据化处理的开发环境
1、搭建matplotlib環(huán)境
構(gòu)建matplotlib運(yùn)行環(huán)境,需要滿足相關(guān)軟件環(huán)境。
numpy庫(kù)提供大數(shù)據(jù)集的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和數(shù)學(xué)方法。諸如元組、列表或字典等python的默認(rèn)數(shù)據(jù)結(jié)構(gòu)同樣可以很好的支持?jǐn)?shù)據(jù)的插入、刪除和諒解。NumPy的數(shù)據(jù)結(jié)構(gòu)支持矢量操作,使用簡(jiǎn)便,同時(shí)具有很高的執(zhí)行效率。矢量操作在實(shí)現(xiàn)時(shí)充分考慮了大數(shù)據(jù)的需要,基于C語(yǔ)言的方式也保證了執(zhí)行效率。
基于Numpy的scipy庫(kù),是Python的標(biāo)準(zhǔn)科學(xué)計(jì)算和數(shù)學(xué)計(jì)算工具包,包含了大量的專(zhuān)用函數(shù)和算法。大部分函數(shù)和算法源自著名的Netlib軟件倉(cāng)庫(kù)(http://www.netlib.org),實(shí)際上是使用C語(yǔ)言和Fortran實(shí)現(xiàn)的。
?
1、安裝NumPy
安裝Python-NumPy軟件包
apt-get install python-numpy安裝完成后,使用命令
python -c 'import numpy; printf numpy_.__version__'檢查版本。
2、安裝所需庫(kù)
libpng1.2:PNG文件處理
freetype6:處理True type字體
?
sudo apt-get install libfreetype6 sudo apt-get install libpng12-dev3、安裝matplotlib
apt-get install python-matplotlib4如果你想進(jìn)行機(jī)器學(xué)習(xí)方向的學(xué)習(xí),下面這些庫(kù)也是必不可少的。
4、安裝scipy
Scipy是一個(gè)高級(jí)的科學(xué)計(jì)算庫(kù),它和Numpy聯(lián)系很密切,Scipy一般都是操控Numpy數(shù)組來(lái)進(jìn)行科學(xué)計(jì)算,所以可以說(shuō)是基于Numpy之上的開(kāi)發(fā)工具。
apt-get installl python-scipy55、安裝數(shù)據(jù)分析工具pandas?
apt-get install python-pandas 66、sklearn是必不可少的,sklearn中包含了大量的優(yōu)質(zhì)的數(shù)據(jù)集,在你學(xué)習(xí)機(jī)器學(xué)習(xí)的過(guò)程中,你可以通過(guò)使用這些數(shù)據(jù)集實(shí)現(xiàn)出不同的模型。安裝指令
apt-get install python-sklearn2、安裝virtualenv和virtualenvwrapper
如果同時(shí)工作在多個(gè)項(xiàng)目上,或是需要在不同項(xiàng)目間頻繁切換,將所有軟件都安裝在操作系統(tǒng)上并不是一個(gè)好主意。當(dāng)需要在不同系統(tǒng)上運(yùn)行軟件時(shí),這種方式會(huì)帶來(lái)問(wèn)題。virtualenv它可以創(chuàng)建一個(gè)獨(dú)立的python環(huán)境,這樣就可以讓我們很容易的在不同的運(yùn)行環(huán)境之間切換。同時(shí),如果需要切換到另外的機(jī)器或者需要在產(chǎn)品服務(wù)器上部署軟件時(shí),用virtualenv可以很容易的重新構(gòu)建相同的軟件包。
1、安裝pip
pip是安裝并管理Python軟件包的工具,可以用它來(lái)代替easy install工具。pip安裝命令如下:
apt-get install python-setuptoolseasy_install pip什么時(shí)候該用pip,什么時(shí)候該用apt-get呢?情況是這樣的,如果你需要最新版本的python依賴(lài)包,你可以直接使用apt-get,在項(xiàng)目突然需要使用舊版本的依賴(lài)包時(shí),你就可以使用virtualenv和pip來(lái)使完美得再安裝上一個(gè)舊版本的依賴(lài)包;?
2、安裝virtualenv和virtualenvwrapper
easy_install virtualenveasy_install virtualenvwrapper
安裝完成后,需要在系統(tǒng)中添加virtualenvwrapper的環(huán)境變量,在~/.bashrc文件中的最后添加路徑如下
source "/usr/local/bin/virtualenvwrapper.sh" export WORKON_HOME="/opt/virtual_env/"3、關(guān)于virtualenv使用
(1) 首先創(chuàng)建一個(gè)虛擬環(huán)境
virtualenv python_env系統(tǒng)在預(yù)設(shè)虛擬環(huán)境時(shí),默認(rèn)的會(huì)依賴(lài)系統(tǒng)環(huán)境中的包,如果不想依賴(lài)西戎的包,可以加上?--no-site-packages?來(lái)建立虛擬環(huán)境即
virtualenv --no-site-packages python_env(2)啟動(dòng)虛擬環(huán)境
進(jìn)入到虛擬環(huán)境的目錄下,使用命令
source bin/active可以看到,在最前面多了一個(gè)虛擬環(huán)境的名稱(chēng),說(shuō)明虛擬環(huán)境已經(jīng)開(kāi)始運(yùn)行了。
?(3)在虛擬環(huán)境安裝新的Python 套件
安裝套件的命令為
pip install [套件名稱(chēng)]如果想要避免pip在沒(méi)有進(jìn)入虛擬環(huán)境時(shí)被使用,可以在~/.bashrc加上:
export PIP_REQUIRE_VIRTUALENV=true要求pip一定要在虛擬環(huán)境中執(zhí)行。
也可以用下面的設(shè)定,讓系統(tǒng)的pip自動(dòng)使用啟動(dòng)中的虛擬環(huán)境。
export PIP_RESPECT_VIRTUALENV=true避免意外將套件安裝至系統(tǒng)環(huán)境。
?(4)退出虛擬環(huán)境
在命令中輸入
deactivate即可推出虛擬環(huán)境。
?
4、關(guān)于virtualenvwrapper的使用
Virtualenvwrapper 是一個(gè)Virtualenv 的擴(kuò)展,可使虛擬環(huán)境的管理變得更容易。
詳細(xì)來(lái)說(shuō),Virtualenvwrapper 提供下述功能:
?使用如下:
?
使用命令mkvirtualenv可以進(jìn)行一次性裝配
mkvirtualenv [-i package] [-r requirements_file] [virtualenv options] ENVNAME當(dāng)然也可以一步步來(lái),首先創(chuàng)建虛擬環(huán)境
然后可以看到在~/.virtualenvs的文件下創(chuàng)建了一個(gè)虛擬環(huán)境,我們可以如virtualenv一樣去文件加下激活,但是這樣就比較麻煩,virtualenvwrapper提供了一個(gè)非常有用的激活命令workon來(lái)進(jìn)行激活,我們可以直接使用命令進(jìn)行激活。
workon 要激活的環(huán)境名?
?除此之外,virtualenvwrapper還提供了一些其他的命令方便我們使用:
(1)虛擬環(huán)境列出指令
lsvirtualenv [-b] [-l] [-h]其中-b是簡(jiǎn)短模式;-l是詳細(xì)模式(預(yù)設(shè));-h是印出help資訊。
(2)復(fù)制虛擬環(huán)境指令
cpvirtualenv ENVNAME TARGETENVNAME
(3)移除虛擬環(huán)境指令
rmvirtualenv ENVNAME
還有更多指令請(qǐng)查看查考手冊(cè)。
?3、安裝圖像處理工具PIL
? python圖像庫(kù)(PIL)為python提供了強(qiáng)大的圖像處理能力,PIL支持的文件格式相當(dāng)廣泛,其特性有快速數(shù)據(jù)訪問(wèn)、點(diǎn)運(yùn)算、濾波、圖像縮放、旋轉(zhuǎn)、任意仿射轉(zhuǎn)換等。
?使用命令
apt-get install python-PIL即可安裝。
有一個(gè)專(zhuān)門(mén)針對(duì)PIL編寫(xiě)的在線手冊(cè),可以查看鏈接學(xué)習(xí)。
?
?
4、安裝requests模塊
我們需要的大部分?jǐn)?shù)據(jù)都可以同通過(guò)HTTP或類(lèi)似協(xié)議得到,因此,我們需要一些工具來(lái)實(shí)現(xiàn)數(shù)據(jù)訪問(wèn),雖然python提供的urllib2提供了訪問(wèn)遠(yuǎn)程資源的能力,但是該模塊完成基礎(chǔ)任務(wù)的工作量較大。Request封裝了HTTP1.1的內(nèi)容,并提供了新的API,僅在需要實(shí)現(xiàn)非默認(rèn)訪問(wèn)的情況下才需要暴露相關(guān)內(nèi)容。安裝用
apt-get install python-requests下面為一個(gè)requtests的使用小例子(運(yùn)行環(huán)境python3.4):
import requests r = requests.get('http://github.com/timeline.json') print(r.content)運(yùn)行結(jié)果如下:
本例中,是向github站的URI發(fā)送HTTP GET請(qǐng)求,以JSON格式返回了GITHub網(wǎng)站的活動(dòng)時(shí)間表。在成功讀取HTTP響應(yīng)后,對(duì)象r包含了HTTP響應(yīng)內(nèi)容以及其他屬性信息(HTTP狀態(tài)碼、cookie、HTTP頭元數(shù)據(jù),甚至包括當(dāng)前響應(yīng)所對(duì)應(yīng)的請(qǐng)求信息。
?
5、在代碼中配置matplotlib參數(shù)
在matplotlib的配置文件.rc文件中,已經(jīng)為大部分屬性提供了默認(rèn)值,這里講解下如何在代碼中配置matplot參數(shù)。
在代碼執(zhí)行過(guò)程中,有兩種方法運(yùn)行參數(shù):使用字典(rcParams)或調(diào)用matplotlib.rc()命令進(jìn)行更改。第一種方式,可以通過(guò)rcParams訪問(wèn)修改所有已經(jīng)加載的配置項(xiàng),第二種方式中,可以通過(guò)向matplotlib.rc()傳入屬性的關(guān)鍵字元元組來(lái)修改配置項(xiàng)。
如果要修改重置動(dòng)態(tài)修改后的配置參數(shù),可以調(diào)用matplotlib.rcdefaults()將配置重置為標(biāo)準(zhǔn)設(shè)置。
下面通過(guò)兩段代碼延時(shí)之前介紹的功能
使用matplotlib.rcParams的例子
import matplotlib as mpl mpl.rcParams['lines.linewidth'] = 2 mpl.rcParams['lines.color'] = 'y'使用matplotlib.rc()函數(shù)的例子。
import matplotlib as mpl mpl.rc('lines',linewidth=2,color='r')上面兩個(gè)例子具有相同的作用,第二個(gè)例子中,我們?cè)O(shè)定后續(xù)的所有線條寬度為2個(gè)點(diǎn),第一個(gè)例子中的最后一條語(yǔ)句表面光,語(yǔ)句之后的所有線條的衍射均為紅色,除非本地覆蓋他。下面給出一個(gè)實(shí)際應(yīng)用的例子。
import matplotlib.pyplot as plt import numpy as npt=np.arange(0.0,1.0,0.01) s=np.sin(2*np.pi*t)plt.rcParams['lines.color'] = 'r' plt.plot(t,s) c=np.cos(2*np.pi*t) plt.rcParams['lines.linewidth'] = '3' plt.plot(t,c) plt.show()使用python test.py運(yùn)行上面的test.py程序,運(yùn)行結(jié)果如下:
?
6、為項(xiàng)目設(shè)置matplotlib參數(shù)
如果不想每次使用matplot時(shí)都在代碼開(kāi)始部分進(jìn)行分配,就需要為不同的項(xiàng)目設(shè)定不同的默認(rèn)配置項(xiàng)。假設(shè)一個(gè)項(xiàng)目對(duì)于matplot的特性參數(shù)總會(huì)設(shè)置相同的值,就沒(méi)有必要每次編寫(xiě)新的繪圖代碼時(shí)都進(jìn)行相同的配置。取而代之的,應(yīng)該是在代碼之外,使用一個(gè)永久的文件設(shè)定matplotlib參數(shù)默認(rèn)值。
通過(guò)matplotlibrc來(lái)配置文件。配置文件在三個(gè)不同位置,而他們的位置決定了他們的應(yīng)用范圍,三個(gè)位置的說(shuō)明如下:
當(dāng)前目錄:即代碼運(yùn)行的目錄。在當(dāng)前目錄下,可以為目錄所包含的當(dāng)前項(xiàng)目定制matplotlib配置項(xiàng)。配置文件的名稱(chēng)為matplotlibrc。
用戶級(jí).matplotlib/matplotlibrc文件:通常在用戶的$HOME目錄下。可以用matplotlib.get_configdir()命令來(lái)找到當(dāng)前用戶的配置文件目錄。
安裝級(jí)配置文件:通常在python的site-packages目錄下。這是系統(tǒng)級(jí)配置,不過(guò)在每次重新安裝matplotlib后,覆蓋文件會(huì)被覆蓋。因此如果希望保持持久有效的配置,最好選擇在用戶級(jí)配置文件中進(jìn)行設(shè)置。目前對(duì)本配置文件的最佳應(yīng)用方式,是將其作為默認(rèn)配置模板。如果在用戶級(jí)配置文件已經(jīng)比較混亂,或者需要為新項(xiàng)目做全新配置時(shí),可以基于該配置文件進(jìn)行配置。
在shell中運(yùn)行以下命令,即可打印出配置文件目錄的位置:
python -c 'import matplotlib as mpl; print mpl.get_configdir()'配置文件包括以下配置項(xiàng):
axes:設(shè)置坐標(biāo)軸邊界和表面的顏色、坐標(biāo)刻度大小和網(wǎng)格的顯示。
backend:設(shè)置目標(biāo)輸出TKAgg和GTKAgg。
figure:控制dpi、邊界顏色、圖形大小和子區(qū)設(shè)置。
font:字體集,字體大小和樣式設(shè)置。
grid:設(shè)置網(wǎng)格顏色和線型。
legend:設(shè)置圖例和其中文本的顯示。
line:設(shè)置線條(顏色、線性、寬度等)和標(biāo)記。
patch:填充2D空間的圖形對(duì)象,如多邊形和圓。控制線寬、顏色和抗鋸齒設(shè)置等。
savefig:可以對(duì)保存的圖形進(jìn)行單獨(dú)設(shè)置。
text:設(shè)置字體顏色、文本解析等。
verbose:設(shè)置matplotlib在執(zhí)行期間信息輸出,如silent、helpful、debug和debug-annoying。
xticks和yticks:為x、y軸的主刻度和次刻度設(shè)置顏色、大小、方向以及標(biāo)簽大小。
?
?
參考資料
MATPLOTLIB
關(guān)于在Ubuntu下安裝配置numpy,scipy,matplotlibm,pandas 以及sklearn
Python: Ubuntu 安裝numpy,scipy,matplotlib
Python?的虛擬環(huán)境及多版本開(kāi)發(fā)利器─Virtualenv 與 Pythonbrew
http://effbot.org/
?
轉(zhuǎn)載于:https://www.cnblogs.com/noticeable/p/8933753.html
總結(jié)
以上是生活随笔為你收集整理的ubuntu下搭建一个数据化处理的开发环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Scrum 冲刺博客第四篇
- 下一篇: Django Models一对多操作