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 条评论
登录 后参与评论

相关文章

来自专栏惨绿少年

用iptables 做NAT代理上网

背景: 有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网,要实现A服务器也可以上网。 内网主机: A eth1:172.16.1.8 外网主机...

5030
来自专栏mathor

网络协议详解

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

2453
来自专栏专注研发

SSH免密码登录配置

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

1.1K3
来自专栏决胜机器学习

RabbitMQ(四) ——路由

RabbitMQ(四)——路由 (原创内容,转载请注明来源,谢谢) 一、概述 路由模式(routing)是交换机不将消息广播到全部的队列中,而是采用交换机的另一...

3619
来自专栏Java学习123

如何修改tomcat的默认端口号

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

HTTP的KeepAlive是开启还是关闭?

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

5962
来自专栏图像识别与深度学习

Android多线程消息处理机制

2025
来自专栏吴伟祥

HTTP 和 Socket 的区别 原

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

972
来自专栏王亚昌的专栏

开多少个FCGI进程才合适

    现在网站很多都用FCGI布署到WEB SERVER上提供服务,但同一个服务的FCGI开多少个进程才合适呢?

851
来自专栏后端技术探索

Nginx防止大图片占满带宽

修改nginx配置文件中图片访问的配置部分 对于正常小图的访问不限制,把正常图的大小限定为 100K 以内,超出时就进行限速,速度限定为最大 100k/s

1062

扫码关注云+社区

领取腾讯云代金券