天天看點

人在囧途——Java程式猿學習Python

  lz之前其實一直對python都很好奇,隻是苦于平時沒有時間去了解它,是以趁着51假期這個機會,便迫不及待的開始了自己的探索。作為一個标準的java程式猿,在了解python的過程當中,lz遇到了很多囧事,接下來lz就一一給大家說道說道。本文純屬看個樂子,非python教學。

  由于lz習慣了使用eclipse進行開發,是以對python的研究,還是希望可以在eclipse上進行試驗。那麼第一件事,自然是安裝python的eclipse插件,于是百度、google各種搜尋引擎開始進入lz的腦海。

  看着搜尋結果,lz不禁感歎大神們的厲害,原來如此簡單,隻需要像下面這樣就可以。

人在囧途——Java程式猿學習Python

  好吧,于是lz開始等待...慢慢的,十分鐘過去了,它依然沒有反應...又十分鐘過去了,是的,它依然沒有反應,囧。

  半個小時之後,lz終于忍不住了,開始選擇第二種辦法,離線安裝。下載下傳一個zip包,直接解壓到eclipse的相應檔案夾,于是pydev終于出現了。

人在囧途——Java程式猿學習Python

  功夫不負有心人,它終于出現了,有點找到失散多年的妹妹的感覺。接下來的過程還比較順利,下載下傳python運作環境,将python.exe配置到相應的interpreter上面去即可。

人在囧途——Java程式猿學習Python

  一個小時的折騰,lz終于成功運作了那個具有劃時代意義的程式,它叫“hello

world!”。

人在囧途——Java程式猿學習Python

  

  既然“hello

world”已經成功,那麼接下來的過程應該是非常順利的。不過沒想到的是,接下來發生的事,讓lz更加抓狂。最根本的原因就是lz寫下來了這樣一個程式。

人在囧途——Java程式猿學習Python

  它竟然報錯了!大概意思lz倒是看明白了,說字元串不能和int類型比較。于是lz便将程式改成以下這樣。

人在囧途——Java程式猿學習Python

  它竟然編譯錯誤了!最可悲的是,這提示有點牛b,lz隻能說“!&……#&!……@&#*……!@&#”。于是牛b的lz想到了無敵的一招,就是下面這招。

人在囧途——Java程式猿學習Python

  它竟然又報錯了!強制類型轉換都不好使了,這python還真不好搞。不過這時lz靈機一動,看到了input()的用法,便比葫蘆畫瓢改了一下程式,結果它終于成功了。

人在囧途——Java程式猿學習Python

  無敵的python果然與衆不同,習慣與java完全不同,當初研究c++的時候不能說是順風順水,但也算是手到擒來,因為兩者在某種程度上還是比較相似的。不過這python就不一樣了,很多用法都已經截然不同。

  完成了上面那個高端大氣上檔次的程式,lz開始向新的目标前進。于是不自然的想到了資料庫,lz平時自己寫java程式都是使用mysql,于是也想使用python操作一下資料庫。回想起java操作mysql的方式,想必python也需要下載下傳一個p包吧。

  不過結果有點出乎lz的預料,竟然需要安裝一個叫mysqldb的東西。這是什麼玩意?于是lz開始抱着必勝的決心尋找它,結果終于在某usa的網站找到了它,本來以為是個exe的安裝包,結果卻是一大堆檔案,看起來還需要自己build的節奏,這讓lz有點慌了神。

  不要慌,下載下傳下來再說。于是得到了下面這樣一個東西。

人在囧途——Java程式猿學習Python

  幸好這玩意看起來還不是那麼的難了解,想必應該是需要使用python解釋器去執行setup.py就可以。最後發現,還需要加入一個build的參數。于是lz便開始執行指令,結果得到了下面的錯誤。

人在囧途——Java程式猿學習Python

  其實在得到這個錯誤之前,lz已經得到了很多錯誤,一開始是一個編譯錯誤,lz修改了setup_windows.py檔案。後來又是一個導入module的錯誤,lz又修改了setup_common.py檔案。

  直到得到這個錯誤以後,無論lz如何猜測,都沒有解決這個問題。因為它報錯的地方是在python的lib檔案當中,而不是mysqldb的檔案。一時之間,lz有點慌亂了,開始求助最後的大神google。不過結果依舊失敗,往往在最後關頭能幫助lz的google,今天看來也不好使了。

  這可怎麼辦?lz猜測這種錯誤很可能是版本引起的問題,因為lz隐約記得lz下載下傳的叫mysqldb2,可是lz使用的是python3啊。會不會跟這個有關系呢?

  說幹就幹,在百度輸入mysql

python3的關鍵字,最終還是讓lz找到了一絲蛛絲馬迹,有一個位址叫mysql for

python3。這是一個github的位址,lz果斷用git将這個下載下傳下來。仔細一看,它的目錄與剛才那個mysqldb2如出一轍,但其實仔細看,也有少許不同。

人在囧途——Java程式猿學習Python

  不管它了,管它哪裡不同呢,繼續執行剛才的指令。果然,這一次雖然有很多警告,但是build成功了。接着就是install,不出所料,依然還是成功,這讓lz欣喜萬分。浪費了差不多一個小時,終于搞定了。

  于是迫不及待的在eclipse當中輸入一個标準的程式,來驗證一下lz的mysqldb是否安裝成功了。可是沒想到的是,它依然報錯了。

人在囧途——Java程式猿學習Python

  從錯誤提示上來看,就像java一樣,是剛才安裝的mysqldb沒有被成功引入。于是lz想到了在配置python解釋器的時候,有一大堆東西讓lz選擇,而剛才install的時候,就是在lib下面安裝了一個mysqlxxx的東西。于是lz就找到了這裡。

人在囧途——Java程式猿學習Python

  這下lz的程式終于編譯通過了,懷着激動的心情,lz選擇了python

run,結果令人振奮。

人在囧途——Java程式猿學習Python

  終于列印出來了,這裡面的資料就是lz自己的mysql資料庫當中存儲的。到此,lz短期對python的研究就暫時告一段落了,以後如果有機會的話,lz會用python寫一些實用的小工具,以便于自己在平時的工作當中使用。

  現在說來簡單,其實在真正嘗試的過程當中,還是遇到了不少問題。主要原因也和lz想在windows下使用python有關系,這個時候就展現出linux的優勢了,在linux上安裝一些東西,總是那麼的輕松。

  這本來隻是一篇流水文,不過lz在這裡還是想說,很多猿友在研究一些東西的時候,遇到困難就退縮了。到了最後,大部分人都會情不自禁的打開11game的快捷方式麻痹自己,從此無法自拔。但其實有的時候,隻要你再往前一小步,就可以看到勝利了。最重要的是,這可以鍛煉你解決問題的能力,因為在工作當中,很多事情都是你克服了無數奇葩的問題才得以解決的。