Linux 服務(wù)器機(jī)器學(xué)習(xí)開發(fā)環(huán)境部署

對于服務(wù)器系統(tǒng),
服務(wù)器選用的Linux系統(tǒng),推薦的有3個選擇,視情況不同而選擇:

  1. Debian系(服務(wù)器主要用Debian的stable分支,ubuntu server雖然可以了,但是穩(wěn)定性不放心)
  2. RedHat系(如果不想購買服務(wù),那么就是CentOS這個分支了,fedora社區(qū)版本,不適合)
  3. BSD系(FreeBSD,OpenBSD,NetBSD)

由于我要對接的服務(wù)器的原因,我選擇的是 紅帽企業(yè)Linux.6.4.服務(wù)器版,如果是個人開發(fā)者,建議CentOS會好一點(diǎn)。
下載鏈接為:

[紅帽企業(yè)Linux.6.4.服務(wù)器版].rhel-server-6.4-x86_64-dvd[ED2000.COM].iso

當(dāng)然,對于我這種沒有接觸過服務(wù)器開發(fā)的菜鳥來說,在 windows 平臺下安裝個虛擬機(jī)開發(fā)是最好的選擇了。
說到虛擬機(jī),本來想要選用 VMware 的,結(jié)果一時手滑,下載了 VirtualBox
結(jié)果就將就著用了,沒想到后來才發(fā)現(xiàn)是個大坑,后面再說。。

虛擬機(jī) Linux 系統(tǒng)安裝

對于虛擬機(jī) Linux 安裝網(wǎng)上的教程有很多,我就不細(xì)說了,看了很多篇之后,我覺得下面這篇是最適合 rhel
系統(tǒng)的安裝教程

如何正確安裝rhel 6.4

大部分都是按照教程走就行了,不過在用 VirtualBox 新建虛擬機(jī)時,我想要提兩點(diǎn):

  1. 選擇虛擬機(jī)在物理硬盤的存儲方式時,不要選擇動態(tài)分配,選固態(tài)分配
  2. 選擇所需要的虛擬機(jī)的硬盤大小不要選默認(rèn)的8g,最好選10g以上。

這樣可以避免后來開發(fā)會遇到的一個坑。
在安裝過程中,我是沒有選擇安裝桌面的,因此啟動的時候都是命令行形式,用 login in:root你之前設(shè)定的密碼 就可以登錄了。

Linux 系統(tǒng) Python 升級

Linux 系統(tǒng)默認(rèn)是有內(nèi)置 Python 環(huán)境的,不過版本都比較低,很多新的特性和庫都支持不了,因此升級 Python 是必須的。
目前,Python 有兩個版本,一個是 2.x 版,一個是 3.x 版,這兩個版本是不兼容的,因為現(xiàn)在 Python 正在朝著3.x 版本進(jìn)化,在進(jìn)化過程中,大量的針對 2.x 版本的代碼要修改后才能運(yùn)行,所以,目前有許多第三方庫還暫時無法在 3.x 上使用。
所以,Python 的版本我選擇的是 2.7 的版本,我在里面隨便挑了 2.7.12 的版本,當(dāng)然你要下載別的也可以,只需要在 Python 官網(wǎng)找到并修改一下下載鏈接就行。

  1. 下載所需的Python
       # wget  --no check certificate   
         http://python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
  1. 解壓
       # xz -d Python-2.7.12.tar.xz
       # tar xvf Python-2.7.12.tar
  1. 進(jìn)入解壓后文件夾并編譯
       # cd Python-2.7.12
       # ./configure --prefix=/usr/local/python2.7
       # make
       # make install
  1. 備份原有的 python
       # mv /usr/bin/python  /usr/bin/python2.6
  1. 建立新的軟鏈接
       # ln -s /usr/local/python2.7/bin/python  /usr/bin/python
  1. Python 2.7安裝成功


    Python.png

yum 部署

RedHat 的 yum 源需要注冊和付費(fèi),因此我整理了 RedHat 安裝 CentOS 的方法,親測成功。

  1. 下載安裝包
    可通http://mirrors.163.com/centos下載,但有時候公司網(wǎng)絡(luò)用不了,故這里提供我下載好的 http://pan.baidu.com/s/1pL9KEzL
  2. 卸載 RedHat 內(nèi)置的 yum
       # rpm -qa | grep yum | xargs rpm -e --nodeps
  1. 安裝 CentOS 的 yum
       # rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
       # rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
       # rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm 
         yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
        (這兩句要同時輸入,因為他們之間有依賴關(guān)系)
  1. 安裝 CentOS6-Base-163.repo
    將第一步下載的 CentOS6-Base-163.repo 拷貝到 /etc/yum.repos.d 中,并將該文件夾中的 rhel-source.reporhel-source.repo.bak 作備份。
  2. 修改 yum 調(diào)用
    打開 yum 文件
       # vim /usr/bin/yum

把首行的 #!/usr/bin/python 修改為 #!/usr/bin/python2.6

  1. 清除原有緩存
       # yum clean all
  1. 獲取 yum 列表
       # yum makecache  

得到如下結(jié)果:


yum.png

至此 yum 安裝完成,可以 yum install 安裝程序了。

機(jī)器學(xué)習(xí)庫部署

pip 是一個 Python 包管理工具,主要是用于安裝 PyPI 上的軟件包,可以替代 easy_install 工具,所以,為了不花很多精力去找離線安裝文件,推薦采用 pip 工具來自動下載。

  1. 下載安裝腳本
    get-pip.py
  2. 安裝 pip 工具
       # python get-pip.py
  1. 采用 pip 工具安裝庫
       # pip install numpy
       # pip install scipy
       # pip install matplotlib
       # pip install sklearn

至此,Linux下機(jī)器學(xué)習(xí)開發(fā)環(huán)境就基本部署好了。

填坑

文件共享

由于手滑將就了 VirtualBox 是有代價的,在實際操作的時候,windows 和虛擬機(jī)之間文件共享就是個坑,不僅網(wǎng)上資料很少,而且還不能用,最后我還是靠 Xshell 解決了這個問題(不過那傳輸速度實在不敢恭維)
Xshell 的教程網(wǎng)上有,但是不知道什么原因,那個通過 # ifconfig 看 eth0 的 ip 然后建立連接的方法我是不成功的。
如果你們也設(shè)置不成功的話,那么就用我探索出來的一個辦法吧。

首先,你的 VirtualBox 設(shè)置網(wǎng)卡1為 Host-Only ,網(wǎng)卡2為 網(wǎng)絡(luò)地址轉(zhuǎn)換(Nat),使用# ifconfig 查看 eth1 的 ip地址 ip1;

IP1.png

然后去適配器配置中心

IP2.png

查看VirtualBox Host-Only Network的屬性,如果是動態(tài)ip地址的話,就把它改成固定ip,然后ip的前兩段保持不變,后兩段自己定義,記下 ip 地址,即 ip2;

接下來去 VirtualBox 的網(wǎng)卡2設(shè)置,點(diǎn)開高級——端口轉(zhuǎn)發(fā),新建規(guī)則,把 ip1ip2 填上去,端口默認(rèn)22。

Set.png

最后,Xshell 用 ip2 和端口值 22 就可以順利登錄到你的虛擬機(jī)了,然后在 Linux 上通過 # yum -y install lrzsz 安裝好服務(wù)后,就可以使用# rz 和# sz 可以輕松實現(xiàn)文件共享。

Tkinter 不能使用的問題

在 Linux 下使用 Python 的時候,我發(fā)現(xiàn)一旦使用繪圖命令,就會出現(xiàn) Tkinter 不存在的情況,Tkinter 模塊("Tk 接口")是 Python 的標(biāo)準(zhǔn) Tk GUI 工具包的接口,沒有它是無法繪制圖形界面的(當(dāng)然,如果要繪制圖形你的 linux 必須處于桌面圖形工作狀態(tài)而不是命令行模式)。
注:因為問題已經(jīng)解決了,懶得去重復(fù)一遍,所以我會簡單點(diǎn)說,如果不是很特殊的話,我還是建議在Windows環(huán)境下繪圖就好了。
首先,你需要 yum 安裝 tk-develtcl-devel,然后重新編譯 python ,這時候你需要先去找你的 tk 和 tcl 安裝在哪里,還有 tk.htcl.h 在哪一個位置,一般是在 /usr/lib64/usr/include 里,然后打開有 python 編譯文件的那個目錄,輸入
# vim ./Modules/Setup.dist ,修改以下內(nèi)容:

_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \  #去掉注釋符
-L/usr/local/lib  \                                    #換成 tk 和 tcl 鏈接庫的目錄                  
-I/usr/local/include  \                             #換成 tk.h 和 tcl.h 的目錄
     -ltk8.2  -ltcl8.2   \                             #換成安裝的 tk 和 tcl 的版本號
-lX11                                                    #去掉注釋符                                       

例如下圖


image.png

修改好后執(zhí)行編譯指令,和原來安裝 Python 一樣,如果重新編譯后的 Python 調(diào)用 numpy 等出錯,那就把 /usr/local/python2.7/lib/python2.7/site-packages 里對應(yīng)的庫相關(guān)文件刪掉,重新 pip 安裝一下這些庫就好了。

總結(jié)

這篇主要介紹了 Linux 下 python 開發(fā)環(huán)境部署的工作,網(wǎng)上資料雖然比較多,但自己去操作還是有不少波折的,故希望筆者整理探索的過程能給 Linux 小白愛好者帶來方便,避免走太多彎路,足矣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文為《爬著學(xué)Python》系列第十一篇文章。 之前寫過一篇Python簡單入門指北-環(huán)境配置,因為是為了新手準(zhǔn)備...
    SyPy閱讀 2,284評論 0 1
  • Python為主流開發(fā)語言, 用python 開發(fā)的程序越來越多。 方便的是大多l(xiāng)inux系統(tǒng)里面都默認(rèn)集成了py...
    53921f46e0b9閱讀 64,704評論 3 18
  • 【悠哉·周日主題茶會預(yù)告】 躁動的聲息像塵埃慢慢落下, 那清涼鉆進(jìn)心里, 像是驚起了, 到來的秋意。 在心里蕩漾幾...
    悠哉茶院高甜莎閱讀 275評論 0 1
  • 僅有緊迫感,沒有行動力,一無長進(jìn),
    linglingchai閱讀 130評論 0 0
  • 房間里婢女們?nèi)慷荚诳葱υ?,丞相府的大小姐前天被二小姐推入池塘差點(diǎn)淹死,而這二小姐又是四王爺?shù)奈椿槠捱@不,三位王爺...
    蘿洛菩提閱讀 235評論 0 1

友情鏈接更多精彩內(nèi)容