1. 程式人生 > >eclipse 下安裝PyDev並匯入faster rcnn python程式碼除錯

eclipse 下安裝PyDev並匯入faster rcnn python程式碼除錯

Python在演算法研究應用非常廣泛,最近要研究faster rcnn的python程式碼,就得學習python,所以就需要一個趁手的工具來看python程式碼,否則只是用文字編譯器找程式碼實在是太影響效率了。
因為對eclipse用著很順手,所以就使用eclipse下的PyDev外掛來做python開發工具。

安裝PyDev

PyDev安裝最簡單的是線上安裝,網上有很多文章可以找到。
如果線上安裝pydev(http://www.pydev.org/updates)可能會會比較慢,而且我的兩臺電腦4個作業系統(windows/ubuntu)都要安裝,更耗時。
所以我採用dropins離線安裝方式:
直拉去這裡下載:

https://sourceforge.net/projects/pydev/files/ 壓縮包,(我現在用的eclipse版本是neon.1,所以下載最新的PyDev 5.6.0.zip)
將zip包解壓縮後,放到eclipse/dropins
這裡寫圖片描述

然後開啟eclipse,找到 視窗/首先項/PyDev/Interpreters/Python Interpreter/ 點選”新建”按鈕, 如下圖設定好python 直譯器,PyDev就算是安裝好了。
這裡寫圖片描述

建立python工程匯入faster-rcnn程式碼

在eclipse如下圖點選選擇透檢視按鈕:
這裡寫圖片描述
選擇PyDev透檢視:
這裡寫圖片描述
工具欄上就會多一個PyDev的透檢視按鈕
這裡寫圖片描述

點選這個按鈕進入PyDev透檢視,如下圖點選建立一個新的PyDev Project
這裡寫圖片描述

在如下介面中選擇”從已經存在的程式碼建立原始碼連結”
這裡寫圖片描述
如下圖新增faster-rcnn的三個python程式碼資料夾,
這裡寫圖片描述

點選”完成”,faster-rcnn的python程式碼就完成了匯入。
這裡寫圖片描述

為什麼要新增三個python資料夾

看看py-faster-rcnn/tools/_init_paths.py程式碼就明白了。

這裡寫圖片描述
_init_paths.py用於初始化sys.path路徑的程式碼,在這裡把 faster-rcnn/caffe-faster-rcnn/python和faster-rcnn/lib加入了sys.path。
否則tools/下的程式是無法找到這些python 模組的。

error: unresolved import cv2

開啟python程式碼,會發現如下圖import cv2提示錯誤,顯示unresolved import,而實際執行並不會報錯
這裡寫圖片描述

我猜這應該是PyDev的缺陷,將下圖中cv2.x86_64-linux-gnu.so 動態庫識別為一個python module
這裡寫圖片描述

然後在python程式碼上點滑鼠右鍵選擇”Code analysis”,重新整理一遍,就OK
這裡寫圖片描述

跟蹤除錯python程式碼

然後就像一般在eclipse下除錯程式碼一樣以除錯方式執行程式,可以一步步跟蹤程式碼了:
這裡寫圖片描述