Windows 10 編譯 Pycocotools 踩坑記

本文是 Pycocotools 編譯踩坑筆記。如果您的環境是 Linux,那么恭喜您,獲取 COCO 源碼,簡單一個 make 即可,本文可以忽略了;然而,如果是 Windows,滿滿都是坑,生踩過來,筆者也是醉了。

版權聲明:本文為 frendy 原創文章,可以隨意轉載,但請務必在明確位置注明出處。


名詞解釋

  • COCO 是什么?

Microsoft COCO 是一個標注過的圖片數據集,可用以目標檢測、分割和描述生成等。Yep, it's all about MS COCO API...

  • Pycocotools 是什么?

顧名思義,python api tools of coco...


實操走起

  • 獲取源碼
git clone https://github.com/pdollar/coco.git
  • 編譯
cd coco/PythonAPI
# install pycocotools locally
python setup.py build_ext --inplace

# install pycocotools to the Python site-packages
python setup.py build_ext install

嗯,如果順利完成,恭喜您大踏步邁過,來來握個手!嗯,如果掉坑了也不怕,慢慢解決,希望筆者下面的踩坑筆記可以幫到您吧。



各種踩坑

這里筆者主要遇到的有兩個問題:

1. Unable to find vcvarsall.bat

其實解決辦法也挺簡單,配置好 Visual C++ 編譯環境即可。筆者這里安裝的 VS 2015,于是找到安裝包 vs_Community.exe,安裝添加 C++ 相關即可。需要注意的是環境變量,如下所示,請確保與本機 VS 版本對應的工具目錄配置,這里是
VS140COMNTOOLS。

env

如果問題依舊,可嘗試添加 VS90COMNTOOLS 指向 VS140COMNTOOLS

那么,為什么是 VS90COMNTOOLS?

我們來看看編譯過程中是如何尋找 vcvarsall.bat 的吧。在文件 ..\Anaconda3\Lib\distutils\msvc9compiler.py 中定位到函數
find_vcvarsall()。如下圖示,如果都失敗了,最后會找到環境變量 VS90COMNTOOLS。嗯,bingo:

msvc9compiler.py

2. cl: 命令行 error D8021 :無效的數值參數“/Wno-cpp” 和 cl: 命令行 error D8021 :無效的數值參數“/Wno-unused-function”

糾結了很久,Github 上有類似的問題 #51,然而 COCO 的作者 pdollar 已明確答復不會支持 Windows 哎...踩到這里,筆者也是不想輕易放棄,于是暴力刪掉吧,把參數 Wno-cpp 和 Wno-unused-function 都刪掉刪掉,如下圖所示:

coco/PythonAPI/setup.py

嗯,然后編譯通過!是否能正常使用呢?我們在 image caption 的 demo 里試試水,如下圖示,可用可用!嗯,什么 COCO,什么 Pycocotools,都是前戲,筆者想實現的是 image caption,后續有進展單獨碼一篇相關的文字吧。

Image Caption Demo


qrcode_card
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,560評論 25 708
  • 前言 隨著移動互聯網的興起,Webapp開始大行其道。大概在15年下半年的時候我接觸到了HybridApp。因為當...
    閆大伯閱讀 10,225評論 10 10
  • 線程安全:指某個函數、函數庫在多線程環境中被調用時,能夠正確地處理多個線程之間的共享變量,使程序功能正確完成。 在...
    大亮code閱讀 940評論 0 0
  • 漸變配色網站 WebGradients 網站地址:https://webgradients.com KOPPT 網...
    LHsunshine閱讀 587評論 0 0
  • 二月二是青龍節,是中國傳統節日。在二月二這一天有不少的飲食和生活上的講究呢。 飲食上 二月二這一天,許多飲食也與龍...
    南墻和夢閱讀 449評論 1 1