当前位置: 首页 > news >正文

Labelme在windows下的编译与vscode开发执行

 在开源的标注工具中,labelme是不个错的选择,因为开源,众人拾柴火焰高,所以大家也能贡献一些代码。

注意,如果你是要直接使用labelme的话,到github上直接下载可执行文件就可以了,比如

https://github.com/wkentaro/labelme/releases/download/v4.6.0/Labelme.exe

或者

https://github.com/wkentaro/labelme/releases/download/v4.6.0/Labelme.dmg

这些都是可执行文件,能直接运行。当然,你也可以使用下面的命令行的方式执行,如作者介绍的方式,

# python3
conda create --name=labelme python=3.8
source activate labelme
# conda install -c conda-forge pyside2
# conda install pyqt
# pip install pyqt5  # pyqt5 can be installed via pip on python3
pip install labelme
# or you can install everything by conda command
# conda install labelme -c conda-forge

安装development版本的labelme

本人比较喜欢修改源码,因此会安装 development版本。

首先,创建环境,这里用python3.8,亲测python3.7没有成功,可能是作者升级了,但没升级相应的readme文档,

conda create --name=labelme python=3.8
git clone https://github.com/wkentaro/labelme.git
cd labelme
python setup.py development

一大堆代码之后,显示安装成功。

试用一下labelme,报错,

>>> conda activate labelme
>>> labelme
Traceback (most recent call last):
  File "D:\Anaconda3\envs\labelme\Scripts\labelme-script.py", line 33, in <module>
    sys.exit(load_entry_point('labelme', 'console_scripts', 'labelme')())
  File "D:\Anaconda3\envs\labelme\Scripts\labelme-script.py", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "D:\Anaconda3\envs\labelme\lib\importlib\metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "D:\Anaconda3\envs\labelme\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "d:\deeptools\labelme\labelme\__init__.py", line 17, in <module>
    QT4 = QT_VERSION[0] == "4"
TypeError: 'NoneType' object is not subscriptable

原因是QT_VERSION没有找到,看了一下,PyQt5在setup时就已经安装了,用"pip install pyqt5"也显示安装没有问题,于是再安装一次pyqt:

>>> conda activate labelme
>>> conda install pyqt

安装完成后,在控制台输入"labelme"可以顺利启动标注界面了。

如何通过vscode启动调试labelme

(1) 打开vscode

(2) File--> Open Folder --> 指向labelme的主文件目录

这里,我的安装目录是D:\deeptools\labelme,这个文件夹包含了git clone下来的所有文件,如setup.py,readme.md等。

(3) 定位到D:\deeptools\labelme\labelme\__main__.py

(4) 调试器设置成前面创建的环境,也就是前面创建的环境(conda create -n labelme)

(5) 设置vscode调试参数,例如"justMyCode"设置成false,这样可以进入所有的源码,包括自己修改的源码。

(6) 启动调试,一切正常,OK。

 本文结束

相关文章:

  • Tools_vcpkg包管理工具在VS2019项目开发中的使用
  • Windows通过winscp登陆Ubuntu18.04
  • Ubuntu18.04安装RTL8125/RTL8168等网卡驱动程序
  • Ubuntu如何卸载cuda driver
  • Ubuntu20.04安装Cuda driver + toolkit + cudnn
  • ROS安装时:找不到有效的OpenPGP数据
  • ROS报错:-- Could NOT find PY_em (missing: PY_EM)
  • SLAM算法r3live试运行
  • VINS-MONO:integer_sequence_algorithm.h:64:21: error: ‘integer_sequence’ is not a member of ‘std’
  • Ubuntu如何查看eigen版本
  • Ubuntu命令查看CPU信息
  • ROS报错: Unable to communicate with master
  • ROS报错:Roslaunch got a ‘No such file or directory‘ error while attempting to run xterm -e gdb --args
  • Ubuntu下的录屏工具Kazam和SimpleScreenRecorder, Peek
  • Ubuntu20.04+gdb/vscode调试ROS(VINS-Mono)程序
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【刷算法】求1+2+3+...+n
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Android框架之Volley
  • CSS实用技巧
  • fetch 从初识到应用
  • iOS小技巧之UIImagePickerController实现头像选择
  • Javascript基础之Array数组API
  • Java教程_软件开发基础
  • mysql_config not found
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Rancher如何对接Ceph-RBD块存储
  • 订阅Forge Viewer所有的事件
  • 动态魔术使用DBMS_SQL
  • 对象引论
  • 和 || 运算
  • 基于遗传算法的优化问题求解
  • 蓝海存储开关机注意事项总结
  • 让你的分享飞起来——极光推出社会化分享组件
  • 一道闭包题引发的思考
  • 一天一个设计模式之JS实现——适配器模式
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用Python写一份独特的元宵节祝福
  • 再谈express与koa的对比
  • Android开发者必备:推荐一款助力开发的开源APP
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # 飞书APP集成平台-数字化落地
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)原始图像数据和PDF中的图像数据
  • (转载)Google Chrome调试JS
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net CHARTING图表控件下载地址
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?