如何在Windows 11上安装pycocotools(实操记录)

2023-11-01

参考
https://blog.csdn.net/m0_45971439/article/details/118332681
https://blog.csdn.net/en_Wency/article/details/124767742

一、报错内容

该报错出现在安装yolov5依赖包时

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

详细报错信息

Building wheels for collected packages: pycocotools
  Building wheel for pycocotools (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pycocotools (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-38
      creating build\lib.win-amd64-cpython-38\pycocotools
      copying pycocotools\coco.py -> build\lib.win-amd64-cpython-38\pycocotools
      copying pycocotools\cocoeval.py -> build\lib.win-amd64-cpython-38\pycocotools
      copying pycocotools\mask.py -> build\lib.win-amd64-cpython-38\pycocotools
      copying pycocotools\__init__.py -> build\lib.win-amd64-cpython-38\pycocotools
      running build_ext
      cythoning pycocotools/_mask.pyx to pycocotools\_mask.c
      building 'pycocotools._mask' extension
      creating build\temp.win-amd64-cpython-38
      creating build\temp.win-amd64-cpython-38\Release
      creating build\temp.win-amd64-cpython-38\Release\common
      creating build\temp.win-amd64-cpython-38\Release\pycocotools
      "d:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\JMan\AppData\Local\Temp\pip-build-env-d_ei2r35\overlay\Lib\site-packages\numpy\core\include -I./common -Id:\Users\JMan\anaconda3\envs\yolov5\include -Id:\Users\JMan\anaconda3\envs\yolov5\Include "-Id:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-Id:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /Tc./common/maskApi.c /Fobuild\temp.win-amd64-cpython-38\Release\./common/maskApi.obj
      maskApi.c
      ./common/maskApi.c(8): fatal error C1083: 无法打开包括文件: “math.h”: No such file or directory
      C:\Users\JMan\AppData\Local\Temp\pip-build-env-d_ei2r35\overlay\Lib\site-packages\Cython\Compiler\Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: C:\Users\JMan\AppData\Local\Temp\pip-install-jawtp7pt\pycocotools_d75225a67ebb4faa97736024f57f7e57\pycocotools\_mask.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      error: command 'd:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pycocotools
Failed to build pycocotools
ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects

这个报错在上次安装yolov5依赖包时也出现过,可以见https://blog.csdn.net/weixin_45246566/article/details/127619175?spm=1001.2014.3001.5501
然而仔细查看报错内容可以发现两次报错的原因是不同的,这次问题的根本原因是【Windows不能直接安装pycocotools】
下面记录一下曲折离奇的Windows安装pycocotools(差点翻车)过程。
(说实话,写到这儿都不知道能不能安明白,也不确定这篇文章能不能写出来。)

二、Windows11上安装pycocotools

1.下载pycocotools源码

  • 在这里下载 https://github.com/cocodataset/cocoapi
  • 将下载解压后的文件夹直接放入带配置环境下的site-packages
    我这里是要在新创建的环境yolov5下安装,目录为:D:\Users\JMan\anaconda3\envs\yolov5\Lib\site-packages

2.安装vs

这里安装的是2022community,因为之前安装了vs installer,所以直接在里面下载。
这里需要注意的地方就是要勾选 使用C++的桌面开发 和 Windows11 SDK(SDK在单个组件中,win10系统就选win10 SDK)
在这里插入图片描述

3.配置vs的环境变量

在很多教程中不涉及这一部分,但我在经历了无数次报错无法解决后可以肯定这一步骤是很重要的!以下操作都是在用户变量中进行。(设置-高级系统设置-环境变量)

  • (1)找到路径C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\Hostx64\x64
    就是顺着vs的安装路径找,找不到安装路径可以右键快捷方式,查找文件所在位置。
    把上面这个路径添加到用户变量的Path
  • (2)新建一个名为INCLUDE的用户变量
    添加路径C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include
    然后定位到 Windows Kits 文件夹,如果你把应用装在D盘,你就会在D盘找到D:\Windows Kits路径,而如果你的应用在C盘那就在路径C:\Program Files (x86)\Windows Kits继续进入路径C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0这一串数字是你安装的SDK的版本号。
    在这里插入图片描述
    将该文件夹下的五个文件夹的路径依次存入INCLUDE中,就像这样:
    在这里插入图片描述
  • (3)新建一个名为LIB的用户变量
    填写这个路径(对应你自己的):C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\lib\x64
    再去到Windows Kits文件夹,找到路径C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0
    在这里插入图片描述
    将里面每个文件夹里的x64文件夹的路径写入变量LIB中,像这样:
    在这里插入图片描述
    以上环境变量就配置完成啦!
    可以验证一下是否配置成功: win+r输入cmd打开命令提示符窗口,输入cl,出现下图则配置成功:
    在这里插入图片描述

4.编译

进入yolov5环境(因为我要在这个环境下安装),然后进到刚才复制到site-package文件夹下的PythonAPI路径下,运行下面两条指令:

python setup.py build_ext --inplace
python setup.py build_ext install

就可以了。
在这里插入图片描述

三、报错记录

报错基本上是出现在执行python setup.py build_ext --inplace命令时。

1.无效的数值参数

cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”

这里是说setup.py文件中有无效的参数,解决的办法是将setup.py中的这一行注释掉,比较神奇的是,我第二次下载的cocoapi-master文件已经直接将这行注释掉了。这个文件就在PythonAPI文件夹下。
在这里插入图片描述

2.找不到头文件’math.h’

这个报错的截图找不到了,后来配置了vs的环境变量后就不再报错了。

3.缺少xxx包

  • ModuleNotFoundError: No module named 'Cython'
    像这种就直接pip install Cython
  • AttributeError: module 'numpy' has no attribute 'get_include'
    这里提示numpy包有问题,也是uninstall后再install,少的包都install后就解决了。

【写在最后】:这是一个很艰辛的过程,在临近毕设中期的紧张时刻浪费了我很多时间,不过也算是成功从良莠不齐的百度资料中试错成功。文章内容是在我安装成功后集中写的,可能有细节遗漏,因此仅供参考,主要是写给自己作为备忘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Windows 11上安装pycocotools(实操记录) 的相关文章

随机推荐

  • 自动化测试-Selenium

    一 selenium环境搭建 1 检查python环境 2 在cmd命令窗口 输入pip3 install selenium 3 浏览器驱动安装 由于执行的脚本需要浏览器驱动来驱动浏览器 所以需要安装形影的浏览器驱动 WebDriver浏览
  • 论三网融合对数据中心的影响

    近日国务院办公厅印发 三网融合推广方案 方案明确要加快在全国推进三网融合 推动信息网络基础设施互联互通和资源共享 将广电 电信业务双向进入扩大到全国范围 并实质性展开工作 三网融合其实国家政府提了好多年 是指电信网 广播电视网和互联网三网的
  • styled-components 基本用法

    styled components 基本用法 安装 npm install save styled components 或 yarn add styled components 注 如使用tsx语法请同时安装相应的 types声明文件 n
  • qt 程序中执行额外程序和脚本

    1 最简单的 我们可以通过system直接启动一个应用程序或者脚本 system helloworld system hello sh 操作简单 但是我们可以很清晰的看到弊端 虽然很顺利的匹出一个进程去执行另外一个应用 但是我们拿不到这个新
  • 新冠造成的经济崩溃对女性影响最大

    Yui Koizumi 化名 曾经过的挺不错的 大学毕业后她进入了一家广告公司 人生逐渐走上正轨 今年3月的时候 她收到了公司发来的邮件 公司暂时要关闭 不过她无须担心 因为收到了一些补偿金 一旦COVID 19疫情缓解了 公司就又会开张营
  • 23 KVM管理虚拟机-使用VNC密码登录虚拟机

    文章目录 23 KVM管理虚拟机 使用VNC密码登录虚拟机 23 1 概述 23 2 前提条件 23 3 操作步骤 23 KVM管理虚拟机 使用VNC密码登录虚拟机 本章介绍使用VNC密码登录虚拟机的方法 23 1 概述 当虚拟机操作系统安
  • IDEA安装MybatisX插件及使用

    打开idea File gt Setting gt Plugins gt Marketplace gt 搜索 mybatis 出现MybatisX选择点击Install gt Apply gt OK 提示重启即可 图示如下 在IDEA中使用
  • 机械硬盘无法弹出的问题:进程 ID 为 4 的应用程序 System 已停止删除或弹出设备

    一般的解决方法 此电脑单机右键选管理 1 计算机管理 gt 系统工具 gt 事件查看器 gt 自定义视图 gt 管理事件 2 在日期与事件进行排序找到最新的事件 3 合理的关掉这个程序 直接结束进程 保存相关文档后关闭 Word 等程序 另
  • android sdk 64bit,Android SDK不安裝在win 7 64位上。

    I am trying to install Android SDK on windows 7 64 bit but it doesn t work I keep getting this screen 我正在嘗試在windows 7 64
  • android中卡号输入框控件(每四位用空格分隔)(解决输入法跳转的问题)

    由于项目的需求 需要在卡号输入时 每四位用空间分隔 于是就写了个控件 该控件支持中间删除 中间增加 粘贴 末尾输入等 光标的位置显示正确 主要的思想就是 对于添加TextWatcher监听Text的改变 text改变后 拿到该text 将t
  • python爬取51job简历查看信息

    python 爬虫 51job简历 存储历史 效果展示 脚本实现 linux 定时任务 查看定时任务是否添加成功 查看定时任务日志 运行常见问题 1 No module named requests 解决方法 2 No module nam
  • kafka的简单实例

    关于kafka的安装 我主要是在windows下部署的 大家可以看这一篇 https blog csdn net woshixiazaizhe article details 80610432 然后后台启动这个kafka 进入到kafka的
  • 朝圣Java(问题集锦)之:The Apache Tomcat installation at this directory is version 8.5.32. A Tomcat 8.0 inst...

    最近开始学Java了 有C 底子 但是学起来Java还是很吃力 感觉别人架好了各种包 自己只要调用就行了 结果还有各种bug出现 掩面中 启动Tomcat的时候 报错The Apache Tomcat installation at thi
  • Dubbo通信模型

    Dubbo和通信结合 通信实现 服务的发布过程使用通信功能 Protocol export 时会为每个服务创建一个Server 服务的引用过程使用通信功能 Protocol refer 时会创建一个Client 整个类结构及调用关系如下 从
  • (HAL库学习4)STM32CubeMX HAL FreeRTOS 任务创建与删除(也会教直接用代码实现方式)

    这次教的是使用STM32CubeMX使用FreeRTOS来进行任务的创建与任务的删除 其实还有FreeRTOS还有一些需要注意的地方 但是任务的创建与删除就是最重要的了 其他的会在后面讲到 首先说说对FreeRTOS的看法吧 这是公认的大面
  • gitbook 入门教程之 gitbook 简介

    gitBook 是一个基于node js的命令行工具 使用 github git 和 markdown asciiDoc 构建精美的电子书 gitbook 支持输出静态网页和电子书等多种格式 其中默认输出静态网页格式 gitbook 不仅支
  • 除了安苏哪个服务器稳定,同样是魔兽世界玩家,为什么安苏服务器那么不受玩家待见?...

    原标题 同样是魔兽世界玩家 为什么安苏服务器那么不受玩家待见 在魔兽世界中只要一提到安苏服务器 相信很多玩家想到的第一个标签就是贵族服务器 然而同样作为魔兽世界国服服务器中的一员 为什么安苏服务器就那么不受玩家的待见呢 其实原因就很多 今天
  • HTTP 协议详解

    目录 前言 1 HTTP 介绍 2 URL介绍 1 了解 URL 和 URI 2 URL 格式 3 URL encode 3 HTTP 协议格式 1 请求报文格式 2 响应报文格式 3 协议格式总结 4 HTTP 请求 Request 1
  • 红宝书--第一章总结分享

    红宝书 第一章总结分享 作为一名前端开发者 我想很有必要认真阅读业界大佬的著作 这不仅能拓展认知 更能发现曾经的遗漏点和误区 为了激励自己能坚持阅读完 特在此分享自己的品读总结 菜鸟也会变成老鸟 为了我的全栈梦 前端是少不了的 1 Java
  • 如何在Windows 11上安装pycocotools(实操记录)

    参考 https blog csdn net m0 45971439 article details 118332681 https blog csdn net en Wency article details 124767742 目录 一