最新消息

[公告2014/05/30] 如有需要將部落格中,任何一篇文章的程式碼使用在商業用途,請與我聯繫。

[公告2015/04/26] Line版的 iInfo程式與投資應用 群組已上線想加入的朋友們,請先查看 "入群須知" 再與我聯繫 Line : aminwhite5168,加入請告知身分與回答 "入群須知" 的問題。

[公告2018/04/22] 台北 Python + Excel VBA 金融資訊爬蟲課程,課程如網頁內容 金融資訊爬蟲班:台北班 Python 金融資訊爬蟲、EXCEL VBA 金融資訊爬蟲

[公告2019/01/08] 請注意:我再次重申,部落格文章的程式碼,是要提供各位參考與學習,一旦網頁改版請自行修改,別要求東要求西要我主動修改,你們用我寫東西賺錢了、交差了,請問有分我一杯羹嗎?既然賺錢沒分我,請問有什麼理由要求我修改,如果沒能力改,就花錢來找我上課。

[公告2019/12/01] 若各位有 Excel VBA 案子開發需求,歡迎與我聯繫,可接案處理。

[公告2020/05/22] 頁面載入速度慢,起因為部分JS來源(alexgorbatchev.com)失效導致頁面載入變慢,目前已做調整,請多見諒。

2015年10月17日 星期六

在Windows上安裝Python Pandas套件

安裝pandas套件真的是一波三折,請參考以下安裝說明
開始安裝pandas套件,在命令提示字元下執行,如果不知道指令如何下的朋友,請至 Winodws上安裝Python編輯軟體Jupyter與使用Jupyter 文章了解。
pip install pandas
結果出現了 " error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)." 錯誤訊息,字面上表示的是說未於vcvarsall.bat找到VC++ 2008版本的編譯器,心想我系統安裝VS2010,那會有VS2008的東西,於是上網Google尋找問題的解法,發現遇到這樣狀況的人不少。

主因:pabdas在python27環境下(筆者使用Python V2.7.2)在運行setup.py安裝時, 預設尋找visual studio 2008來編譯其中的C++檔。

網路上的解法,在命令提示字元下,依據系統安裝的Visual Studio版本來設定環境變數,如下:
VS2010
SET VS90COMNTOOLS=%VS100COMNTOOLS%
VS2012
SET VS90COMNTOOLS=%VS110COMNTOOLS%
VS2013
SET VS90COMNTOOLS=%VS120COMNTOOLS%
按照著上面設定環境變數後,原本想說應該可以安裝pandas了,執行安裝pandas指令後,出現如上相同錯誤訊息,後來使用暴力法,直接到 C:\Python27\Lib\distutils 目錄下找 msvc9compiler.py,強制修改msvc9compiler.py第243行的內容。
toolskey = "VS%0.f0COMNTOOLS" % version
改為
toolskey = "VS%100COMNTOOLS" % version
存檔後再一次執行安裝pandas套件指令,結果又是相同錯誤訊息。

於是這次去微軟官網下載 Microsoft Visual C++ Compiler for Python 2.7 來安裝。

第三次執行pandas安裝指令,結果卡了很久,心想乾脆強制停止安裝,上網找其他方法。

想說在三次安裝,結果都是令人心碎......心裡有一股開始想罵 "!@#$%^&*",但基於攻城獅 堅持、努力、想找解答的精神 (以上是屁話,看看就好),於是上網查安裝pandas前是否有需要安裝其他套件。

果然,安裝pandas前先安 numpy、six、pytz、dateutil 這四個套件,six系統就有安裝,所以只需確認其他三個套件是否存在。

確認後開始一步步地安裝numpy、dateutil、pytz這三個套件,皇天不負辛苦人,最後讓我終於攻下了pandas這座城池,成功安裝pandas套件。

上述安裝過程看似真的很麻煩,雖然成功安裝完成,不過後來筆者有重新再次過一次使用 Microsoft Visual C++ Compiler for Python 2.7 來安裝pandas套件,有安裝成功,只怪自己一開始不夠堅持。

補充說明使用 Microsoft Visual C++ Compiler for Python 2.7 安裝pandas套件的流程。
1. 下載安裝 Microsoft Visual C++ Compiler for Python 2.7
2. 設定環境變數。
SET VS90COMNTOOLS=%VS100COMNTOOLS%
3. 執行pandas安裝指令。
pip install pandas
按照上面三步驟,就可以成功安裝pandas套件。

PS:安裝 Microsoft Visual C++ Compiler for Python 2.7 後,在安裝pandas套件中,自動會安裝pytz、python-dateutil、numpy這三個套件,所以無需另外安裝。

套件說明:
NumPySciPy:提供用於創建多維對象、操作矩陣的數學工具。
Pandas:基於NumPy和SciPy提供高級的數據操作工具。
DateutilPytz:簡化日期和時區數據操作。

以上的介紹大家可以參考,群裡朋友說其實可以不用這麼麻煩,直接使用anaconda就可以完成這部分的安裝,後續有機會再分享anaconda內容。

請各位朋友不要跟筆者一樣用土法煉鋼的方式去裝pandas套件,能快速安裝完成使用(這是攻城獅的目標),畢竟時間就該花費在美好的事物上去學習,不一定要花時間去繞遠路。

參考資料