2015年2月26日 星期四

Windows 7 安裝 pyminizip

python 內建有 zipfile library, 但是它沒辦法創建有密碼的 zip 檔案
所以必須要用第三方 lib, 例如 pyminizip

在 windows 上安裝完最新的 python 2.7.9 會連 pip 也一起安裝進去
但直接用 pip install pyminizip 會出現 error 找不到 zlib.h
pypi 上 pyminizip 的介紹有寫道它依賴於 zlib, 所以必須要先安裝 zlib

zlib 官網 可以下載到 windows 版的 zlib dll, lib 跟 header 檔
這邊有一個要注意的是下載的 lib 檔名稱為 zdll.lib, 應該是錯的
要記得改名為 zlib.lib, 否則之後 link 會出現錯誤

根據 pip 的 error log 顯示, 在 pip install pyminizip 的過程中需要 compile 一些 .c 檔
這些 .c 檔會用到 zlib.h
所以要把 zlib.h zlib.lib 放到適當的地方讓 cl.exe 找的到, 像是 VC++ 裡預設的目錄

C:\Program Files\Microsoft Visual Studio 9.0\VC\include
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib

如果安裝了不只一版 VC++, error log 裡也會告訴你他是用哪一版  VC++ 去 compile 的

接著照 zlib 的 readme, 把 zlib1.dll  放到
C:\windows\system32\
C:\windows\system

然後再執行 pip install pyminizip, 就可以很順利的成功了

沒有留言:

張貼留言