Windows下安装pycocotools(本人亲测,可以解决)

article/2025/8/14 9:37:12

Windows下安装pycocotools

  • 1. 下载pycocotools的源码
  • 2. 安装python对应的VC++
  • 3. 进行pycocotools的编译
  • 4. 测试安装是否成功

参考博客:原博客

由于windows下是不能直接使用conda install 或者pip install pycocotools,唉,不像linux系统,直接使用这两个命令即可安装,简单粗暴。由于我之前一直使用的组里的服务器,用的是linux,所以可以直接安装,当时就没接触windows下安装pycocotools与linux是如此的的不同。所以我找了好多博客,发现有用的少之又少,只有这一个博主写的可以解决我的问题,所以针对该解决方法,自己是如何在本地下安装pycocotools做一个简要的说明。

1. 下载pycocotools的源码

源码的地址为:pycocotools的源码
下载zip到本地,随便放到哪里,解压之后,将PythonAPi文件夹下面的pycocotools文件夹和pycocotools.egg-info文件夹复制到你的conda创建的环境下中,具体如下图:
在这里插入图片描述
然后复制到你的anaconda -> envs -> torch(我这里创建的环境是torch) -> Lib -> site-packages
在这里插入图片描述

2. 安装python对应的VC++

这里的坑也挺大的,如果你直接使用某些博客中的下载地址去下载VC++,如下图:
在这里插入图片描述
使用该软件直接安装,会一直报错:
在这里插入图片描述
就NM离谱。。。。

所以我继续寻找,终于发现知乎上有一个博主解释的非常好,原文链接:解决VC++14.0安装问题
我的建议:直接去官网下对应python版本的VC++,不要下载那些某博主提供的软件安装。
选择对应的VC++版本之后,进行安装,推荐使用默认安装,直接安装到C盘,不需要修改路径,大概是3.9个G左右。

3. 进行pycocotools的编译

打开本地的Anaconda Powershell Prompt命令台,进入到你刚才下载好的的PythonAPI文件夹下面,使用命令:python setup.py build_ext --inplace进行编译,如下图:
在这里插入图片描述
在这里插入图片描述
这里我其实出现了一个问题,因为当时下载pycocotools源码的时候,PythonAPI下面是没有pycocotools.egg-info文件夹的,所以直接进行编译的话,然后在导入包的时候还是会报错:

from pycocotools.coco import COCO

这里,依旧会报错:ModuleNotFoundError: No module named ‘pycocotools._mask’
出问题的原因在于没有将pycocotools.egg-info文件夹复制到对应的环境名下面的site-packages下面,但是源码中又没有这个文件。。。。。。无语。。。。

我的解决方法是:等待VC++14.0安装好之后进行
python setup.py build_ext --inplace先进行编译,然后会发现此时的PythonAPI文件夹下面出现了pycocotools.egg-info文件,然后将该文件在复制到你所创建的环境下的site-packages文件下,重新再使用命令:
python setup.py build_ext --inplace
python setup.py build_ext install
就可以成功的进行pycocotools的编译和安装pycocotools包。

4. 测试安装是否成功

在Anaconda Prompt命令台调出python控制台,再导入pycocotools看是否报错:

from pycocotools.coco import COCO

在这里插入图片描述
可以看到并没有报错,如果还是不放心,我们可以在Pycharm也去试试看,如下:


import os
from pycocotools.coco import COCO
from PIL import Image, ImageDraw
import matplotlib.pyplot as pltjson_path = "E:/Dataset/dataset/COCO数据集/coco/annotations/instances_val2017.json"
img_path = "E:/Dataset/dataset/COCO数据集/coco/val2017"# load coco data
coco = COCO(annotation_file=json_path)# get all image index info
ids = list(sorted(coco.imgs.keys()))
print("number of images: {}".format(len(ids)))# get all coco class labels
coco_classes = dict([(v["id"], v["name"]) for k, v in coco.cats.items()])# 遍历前三张图像
for img_id in ids[:3]:# 获取对应图像id的所有annotations idx信息ann_ids = coco.getAnnIds(imgIds=img_id)# 根据annotations idx信息获取所有标注信息targets = coco.loadAnns(ann_ids)# get image file name 获取图像的路径也就是该图像的文件名path = coco.loadImgs(img_id)[0]['file_name']# read image 读取图像img = Image.open(os.path.join(img_path, path)).convert('RGB')draw = ImageDraw.Draw(img)# draw box to image 由于COCO的box标注的格式:(x1,y1,w,h)即左上角的x和y坐标,以及box的宽高for target in targets:x, y, w, h = target["bbox"]                    # 获取GT box的(x1,y1,w,h)x1, y1, x2, y2 = x, y, int(x + w), int(y + h)  # 获取GT box的(x1,y1,x2,y2) 转换成左上角和右下角的坐标值draw.rectangle((x1, y1, x2, y2))draw.text((x1, y1), coco_classes[target["category_id"]])# show imageplt.imshow(img)plt.show()

结果展示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

到这里,可以完全放心了,那么windows下的pycocotools的安装搞定!!!

开始愉快地train代码之旅吧!神魔恋!


http://chatgpt.dhexx.cn/article/NobtepRD.shtml

相关文章

学习 PySOT(2)(PySOT-toolkit、对比、画图)

文章目录 前言一、pysot-toolkit准备工作1.所需环境要求2.文件配置3.运行配置(对比算法) 二、安装latex软件(win10系统)1.安装MiKTeX2.安装TexMaker3.配置TexMaker4.配置MiKTeX 三、运行eval.py画图1. 修改eval.py参数,运行2. 常见问题解决 前…

redis-exporter监控

文章目录 启动redis-export服务启动prometheus服务启动granfana服务测试报警 使用redis-exporter监控redis服务,并且使用prometheus收集数据,使用grafana展示数据。 监控报警利用alertmanager插件,报警信息发送钉钉消息。所使用的安装包可以 …

Zabbix实现对Redis的监控

Zabbix实现对Redis的监控 环境准备 五台机器: zabbix_agent 5.0 被动模式(已安装) Zabbix_java_gateway 5.0 (已安装) 10.0.0.7 MariaDB-10.4.22(已安装) zabbix_server 5.0(已安…

zabbix配置redis监控

1 redis监控需要用到zabbix_agent2的版本,该版本涵盖了zabbix_agent1的全部功能。安装zabbix_agent2 yum install zabbix-agent2-5.0.13-1.el7.x86_64 -y 2 配置zabbix_agent2.conf的脚本,将redis的相关信息配置。vi /etc/zabbix/zabbix_agent2.conf …

【中间件】Redis监控以及指标

一、监控指标 1.1、性能指标:Performance Name Description latency Redis响应一个请求的时间 instantaneous_ops_per_sec 平均每秒处理请求总数 hi rate(calculated) 缓存命中率(计算出来的 1.2、内存指标: Memory Name Description used_m…

Redis监控和预警

1.摘要 本人从事Java Web开发,在项目开发中会用到很多中间件,本文主要介绍Redis监控的一点心得和使用,公司DBA也有相应的监控,但是我们的业务比较重要,想做一个备份监控,对Redis监控需要做监控和预警&#…

如何完善Redis监控告警?

本文字数:3940字 预计阅读时间:20分钟 一、背景二、监控指标分类三、监控指标说明四、总结 一、背景 Redis监控告警实践是基于开发CacheCloud云平台过程中不断实践和总结出来,随着Redis实例规模不断变大,会遇到各种各样的问题&…

redis集群监控

通过Prometheus监控redis集群 一、promethus安装 下载地址: https://github.com/prometheus/prometheus/releases 1、下载 wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz 2、安装、配置 ta…

Linux安装Redis监控工具RedisInsight

文章目录 1.简介2.安装RedisInsight2.1下载RedisInsight2.2配置RedisInsight2.3运行RedisInsight 3.使用RedisInsight3.1添加Redis3.1.1添加单机Redis 3.2自动发现Redis3.3以编程方式添加Redis3.4性能指标3.5集群管理3.6命令行3.7内存分析3.7.1在实例上运行内存分析3.7.2内存概…

RedisInsight:Redis监控工具部署(linux)

RedisInsight 部署流程 简介一、下载二、安装1.准备工作2.配置及介绍3.运行4.访问 总结 简介 RedisInsight提供以下功能: 易于使用基于浏览器的界面来搜索键、查看和编辑数据唯一支持Redis集群的GUI工具支持基于SSL/TLS的连接运行内存分析 一、下载 下载地址: R…

redis监控工具

redis-monitor 项目github地址:https://github.com/NetEaseGame/redis-monitor (看作者名称,应该是华科的) # 安装 pip install redis-monitor#初始化redis-monitor init#启动 nohup redis-monitor start > redis-monitor.l…

Redis性能监控

redis_exporter prometheus grafana监控Redis服务指标 1.redis_exporter2.prometheus3.grafana 本文使用 redis_exporter prometheus grafana 实现对Redis服务进行监控,原因:成本低,人工干预少,直接下载对应的组件,只需添加配置即可互相通信,可视化指标也比较全面。 下面是在…

性能测试:Redis性能监控(redis-stat工具)

redis 监控 redis 监控一共有两种方式,一种是通过info命令,还有一种是使用redis-stat工具。两者其实本质是一样的,不过一个是命令行的模式下查看监控数据,而另外一种是图形化页面查看。但是实际上,我们性能测试主要更…

Redis监控利器---Redis State

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan 【前言】 在之前的博文《Redis百万级别数据迁移》中分享我们系统为降低服务器成本,从亚马逊云迁至阿里云的一次生产迁移过程中Redis部分迁移;去年迁移Redis时数据量500…

【Redis监控】

方法1:redis-stat 下载地址:https://github.com/junegunn/redis-stat 可以直接下载安装jar包 Usage usage: redis-stat [HOST[:PORT][/PASS] ...] [INTERVAL [COUNT]] -a, --authPASSWORD Password -v, --verbose …

redis监控

上篇我们将redis安装好了,但是自己搭建的服务监控起来比较麻烦,我们每次都需要跑到redis-cli使用info命令查看redis的状态。 所以我们需要一个可视化的redis监控工具,这里我们为了方便使用docker进行安装,毕竟依赖这个东西是要搞…

性能测试之Redis和Nginx 性能监控

redis 监控 redis 监控一共有两种方式,一种是通过info命令,还有一种是使用redis-stat工具。两者其实本质是一样的,不过一个是命令行的模式下查看监控数据,而另外一种是图形化页面查看。但是实际上,我们性能测试主要更…

redis基础监控

redis监控 redis server 监控: redis存活判断:ping判断,如果指定时间返回PONG表示存活,否则redis不能响应请求,可能阻塞或死亡 机器端口检查:nc 判断端口是否正常。 连接数:connected_clients …

【23种设计模式】设计模式介绍与分类

前言 本文为 【23种设计模式】设计模式介绍与分类 相关知识介绍,下边将对什么是设计模式,设计模式的分类与23种设计模式的关键点进行详尽介绍~ 📌博主主页:小新要变强 的主页 👉Java全栈学习路线可参考:【…

Java之美[从菜鸟到高手演变]之设计模式

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可…