天天看點

python 之 第一次親密接觸

因為同僚一個項目使用了python處理圖檔的功能,第一次接觸了python。之前早就聽聞大名,知道今天才第一次真正接觸,身為一個挨踢人士真是慚愧至極!

同僚的python功能實作其實很簡單,就是讀取png檔案,然後寫入到excel,全部代碼不過如下幾行:

import xlwt
from PIL import Image

workbook = xlwt.Workbook(encoding = 'ascii')

worksheet = workbook.add_sheet('000')
img = Image.open("000.png")
im_array = img.load()

for i in range(img.size[1]):
  for j in range(img.size[0]):
    if im_array[j,i][3] >0:
      worksheet.write(i, j, str(im_array[j,i][3]))
           

不曾想“資深程式猿”的我卻嘗試的很不暢。第一次意義非凡,記錄如下。

問題一:python安裝,這個簡單,我安裝的是python3.4.

問題二:安裝後再ide裡運作,提示“ImportError: No module named xlwt”。 納尼??!! 莫非這個xlwt另有蹊跷??百度之。。 果然需要另外安裝: xlwt下載下傳位址。 于是又引來的第三個問題。

問題三:你會發現下載下傳下來到的xlwt是一個不認識的.whl格式,有事找度娘。原來python提供了安裝方法,于是潇灑的在xlwt-xxx.whl路徑下cmd裡 pip install xlwt-xxxx.whl,又出現了錯誤4.

問題四:pip.exe的路徑要添加到系統環境變量!然後就可以正常安裝xlwt了,順帶也更新了一下pip版本:pip 9.0.1下載下傳位址

這下終于高枕無憂了吧!繼續執行程式!結果,悲催繼續。。。

問題五:提示“ImportError: No module named 'skimage'”,一回生二回熟,早有心理準備!安裝skimage呗。又出乎意料了,這個skimage還不是那麼簡單的:python 安裝skimage處理圖檔。

1、先安裝skimage依賴元件:numpy+mkl(1.14.0版本,約180M)、scipy(1.0.0,約12.4M)。 注意:選擇比對自己電腦的版本!

2、安裝Scikit-image(0.13.1,約23.2M)(注意,名稱是Scikit-image,不是skimage), 注意:選擇比對自己電腦的版本!

問題六: 以上下載下傳的版本(都是最新的)如下:scipy-1.0.0-cp37-cp37m-win_amd64.whl、numpy-1.14.0+mkl-cp37-cp37m-win_amd64.whl、scikit_image-0.13.1-cp37-cp37m-win_amd64.whl。

結果,安裝numpy+mkl時候就報錯:numpy-1.14.0+mkl-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.

這裡是原文作者的解答:http://blog.csdn.net/qing101hua/article/details/52504403, 摘錄如下:

【原因1】安裝的不是對應python版本的庫,下載下傳的庫名中cp27代表python2.7,其它同理。

我安裝的python是3.4,so,隻是這一條我就不滿足!

【原因2】下載下傳的是對應版本的庫,然後仍然提示不支援目前平台。

方法:在shell中輸入如下指令,可以檢視到pip支援的檔案名,還有版本:

import pip
print(pip.pep425tags.get_supported())
           
python 之 第一次親密接觸

瞅見沒?? 鄙人是64位系統,沒想到cp34+win32才是真愛!!!!找誰說理去!!!!重新下載下傳正确的版本吧。。

至此,python處子秀success!! 此處應該有掌聲!! (三十二個贊!)