专栏首页10km的专栏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就算是安装好了。

关于安装插件的更多说明,参见我之前的一篇博客《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 条评论
登录 后参与评论

相关文章

  • PyDev:修改代码模板自动添加encoding=utf8,避免中文乱码

    如果python代码中有中文则在代码最开始加上#coding=utf8,就可以解决了。 既然这样,在eclipse下可以修改python代码模板,就可以在每...

    用户1148648
  • cmake:install制作简单的安装脚本

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • eclipse 4.4(luna)安装pydev插件

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • CCF-腾讯犀牛鸟基金五周年系列报道(二)——犀牛鸟基金五周年系列活动与您相聚在金秋十月

    ? “CCF-腾讯犀牛鸟基金”今年迎来了五周岁生日。自2013年基金项目成立以来,相继收到数百位优秀青年学者申请参与,与犀牛鸟基金一路相伴。在五年的成长过程...

    腾讯高校合作
  • 拿起键盘就是干:跟我一起徒手开发一套分布式IM系统

    老读者应该还记得我在去年国庆节前分享过一篇《技术干货:从零开始,教你设计一个百万级的消息推送系统》,虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可...

    JackJiang
  • insert唯一键冲突的加锁情况分析

    今天分享的内容是MySQL里面insert语句在发生冲突的时候加锁情况,废话就不多说了,直接从例子开始吧。

    AsiaYe
  • 魔改BBR一键脚本合集

    用户2135432
  • GitHub移动App上线:四大特性,手机端无缝完成git任务

    GitHub 是非常好用的代码版本托管平台,几乎没有开发者不知道它。但是,一直以来用户都希望官方能够出品移动端 app,方便在没有 pc 的场合完成一些工作。

    机器之心
  • 01-TypeScript概述

    本篇文章向大家介绍新的TypeScript客户端脚本语言,主要涉及两个方面,一是传统JavaScript语言的弱点,二是TypeScript语言的优势。 一.J...

    用户1910585
  • Nginx负载均衡(不信你不懂)

    老七Linux

扫码关注云+社区

领取腾讯云代金券