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就算是安装好了。

关于安装插件的更多说明,参见我之前的一篇博客《eclipse 4.4(luna)安装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

解决的办法参见《解决eclipse下pydev的unresolved import的问题》 如下图在”Force Builtins”中添加一个符号cv2

然后在python代码上点鼠标右键选择”Code analysis”,刷新一遍,就OK

跟踪调试python代码

然后就像一般在eclipse下调试代码一样以调试方式运行程序,可以一步步跟踪代码了:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏HTML5学堂

前端工程化 | 揭秘程序员的提速“外挂”

前端开发的工作往往需要把LESS/SASS编译成CSS文件,对多个JS、CSS文件进行合并与压缩处理,对JS、CSS进行语法的检查等,上面提到的这些都是一些重复...

38411
来自专栏张善友的专栏

cas原理介绍

CAS用来标志用户的token是存在它自己的域名下的,不是存在web应用的域名下的.CAS判断用户登录由agent决定,agent验证用户信息有两种处理. ...

3389
来自专栏技术博客

WCF服务部署后异常的处理

 其实这样使用看起来是没什么问题的,而且也能顺利使用,在项目开发阶段完全没出现什么问题。不过,由于wcf客户端都有一个超时时间,可能静止过了一段时间,你在界面刷...

912
来自专栏吴伟祥

HTTP 和 Socket 的区别 原

      在学校的时候学过,网络七层,也知道tcp的三次握手.但因为根本没用在实际开发中,所以逐渐淡忘.现在就再次理解下三个的区别与联系.

822
来自专栏Kurt Niu 的博客

c# 写的ARP攻击器和ARP防火墙

我这个代码是调用开源项目SharpPcap开源的网络捕获项目http://sourceforge.net/projects/sharppcap/。

1342
来自专栏跟着阿笨一起玩NET

HTTP的KeepAlive是开启还是关闭?

http://itindex.net/detail/50719-http-keepalive

2182
来自专栏mathor

网络协议详解

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送消息时将包含目标I...

903
来自专栏栗霖积跬步之旅

应用层-day01

主流应用程序体系结构:CS结构、P2P结构。 CS结构:客户-服务器体系结构。有一台总是打开的主机称为服务器,它服务来自其他许多称为客户的主机的请求。 P2P体...

3385
来自专栏黑白安全

什么是ARP欺骗?

ARP欺骗是一种恶意行为者通过局域网发送伪造的ARP(地址解析协议)消息的攻击类型。这会导致将攻击者的MAC地址与网络上的合法计算机或服务器的IP地址链接起来。...

1151
来自专栏专注研发

SSH免密码登录配置

ssh免密码登录Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解决方案

1893

扫码关注云+社区