win10安装pycocotools遇到的问题(gcc.exe failed with exit status 1)

2023-10-26

背景安装pycocotools一直过不去,一直报错

PS C:\Users\peter> pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
Collecting git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
  Cloning https://github.com/philferriere/cocoapi.git to c:\users\peter\appdata\local\temp\pip-req-build-_9qbjwiy
Building wheels for collected packages: pycocotools
  Running setup.py bdist_wheel for pycocotools ... error
  Complete output from command d:\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\peter\\AppData\\Local\\Temp\\pip-req-build-_9qbjwiy\\PythonAPI\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\peter\AppData\Local\Temp\pip-wheel-ccfig2_s --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\pycocotools
  copying pycocotools\coco.py -> build\lib.win-amd64-3.6\pycocotools
  copying pycocotools\cocoeval.py -> build\lib.win-amd64-3.6\pycocotools
  copying pycocotools\mask.py -> build\lib.win-amd64-3.6\pycocotools
  copying pycocotools\__init__.py -> build\lib.win-amd64-3.6\pycocotools
  running build_ext
  building 'pycocotools._mask' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\pycocotools
  creating build\temp.win-amd64-3.6\common
  D:\Anaconda3\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -Id:\anaconda3\lib\site-packages\numpy\core\include -I../common -Id:\anaconda3\include -Id:\anaconda3\include -c pycocotools/_mask.c -o build\temp.win-amd64-3.6\Release\pycocotools\_mask.o
  In file included from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
                   from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
                   from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
                   from pycocotools/_mask.c:590:
  d:\anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:12:9: note: #pragma message: d:\anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
  pycocotools/_mask.c: In function '__Pyx_ImportType':
  pycocotools/_mask.c:16964:13: warning: unknown conversion type character 'z' in format [-Wformat]
  pycocotools/_mask.c:16964:13: warning: unknown conversion type character 'z' in format [-Wformat]
  pycocotools/_mask.c:16964:13: warning: too many arguments for format [-Wformat-extra-args]
  D:\Anaconda3\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -Id:\anaconda3\lib\site-packages\numpy\core\include -I../common -Id:\anaconda3\include -Id:\anaconda3\include -c ../common/maskApi.c -o build\temp.win-amd64-3.6\Release\..\common\maskapi.o
  writing build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def
  D:\Anaconda3\MinGW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\pycocotools\_mask.o build\temp.win-amd64-3.6\Release\..\common\maskapi.o build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def -Ld:\anaconda3\libs -Ld:\anaconda3\PCbuild\amd64 -lpython36 -lmsvcr140 -o build\lib.win-amd64-3.6\pycocotools\_mask.cp36-win_amd64.pyd
  d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def:1: syntax error
  d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe:build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def: file format not recognized; treating as linker script
  d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe:build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def:1: syntax error
  collect2.exe: error: ld returned 1 exit status
  error: command 'D:\\Anaconda3\\MinGW\\bin\\gcc.exe' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pycocotools
  Running setup.py clean for pycocotools
  Complete output from command d:\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\peter\\AppData\\Local\\Temp\\pip-req-build-_9qbjwiy\\PythonAPI\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" clean --all:
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\peter\AppData\Local\Temp\pip-req-build-_9qbjwiy\PythonAPI\setup.py", line 25, in <module>
      cythonize(ext_modules)
    File "d:\anaconda3\lib\site-packages\Cython\Build\Dependencies.py", line 897, in cythonize
      aliases=aliases)
    File "d:\anaconda3\lib\site-packages\Cython\Build\Dependencies.py", line 777, in create_extension_list
      for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
    File "d:\anaconda3\lib\site-packages\Cython\Build\Dependencies.py", line 102, in nonempty
      raise ValueError(error_msg)
  ValueError: 'pycocotools/_mask.pyx' doesn't match any files

  ----------------------------------------
  Failed cleaning build dir for pycocotools
Failed to build pycocotools
Installing collected packages: pycocotools
  Running setup.py install for pycocotools ... error
    Complete output from command d:\anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\peter\\AppData\\Local\\Temp\\pip-req-build-_9qbjwiy\\PythonAPI\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\peter\AppData\Local\Temp\pip-record-kjy7gqmp\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    running build_ext
    building 'pycocotools._mask' extension
    D:\Anaconda3\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -Id:\anaconda3\lib\site-packages\numpy\core\include -I../common -Id:\anaconda3\include -Id:\anaconda3\include -c pycocotools/_mask.c -o build\temp.win-amd64-3.6\Release\pycocotools\_mask.o
    In file included from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
                     from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
                     from d:\anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
                     from pycocotools/_mask.c:590:
    d:\anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:12:9: note: #pragma message: d:\anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
    pycocotools/_mask.c: In function '__Pyx_ImportType':
    pycocotools/_mask.c:16964:13: warning: unknown conversion type character 'z' in format [-Wformat]
    pycocotools/_mask.c:16964:13: warning: unknown conversion type character 'z' in format [-Wformat]
    pycocotools/_mask.c:16964:13: warning: too many arguments for format [-Wformat-extra-args]
    D:\Anaconda3\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -Id:\anaconda3\lib\site-packages\numpy\core\include -I../common -Id:\anaconda3\include -Id:\anaconda3\include -c ../common/maskApi.c -o build\temp.win-amd64-3.6\Release\..\common\maskapi.o
    writing build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def
    D:\Anaconda3\MinGW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\pycocotools\_mask.o build\temp.win-amd64-3.6\Release\..\common\maskapi.o build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def -Ld:\anaconda3\libs -Ld:\anaconda3\PCbuild\amd64 -lpython36 -lmsvcr140 -o build\lib.win-amd64-3.6\pycocotools\_mask.cp36-win_amd64.pyd
    d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def:1: syntax error
    d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe:build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def: file format not recognized; treating as linker script
    d:/anaconda3/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe:build\temp.win-amd64-3.6\Release\pycocotools\_mask.cp36-win_amd64.def:1: syntax error
    collect2.exe: error: ld returned 1 exit status
    error: command 'D:\\Anaconda3\\MinGW\\bin\\gcc.exe' failed with exit status 1

解决方法

原因是编译安装时python用的mingw32的gcc而不是用msvc,因此一直有些问题

solution

  1. 进入python安装目录(anaconda目录),找到Lib,进入
  2. 找到distutils包,进入找到distutils.cfg文件
    用anaconda的话是这样的
[build]           
compiler=mingw32
改为:
[build]           
compiler=msvc 

3.pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

PS C:\Users\peter> pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
Collecting git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
  Cloning https://github.com/philferriere/cocoapi.git to c:\users\peter\appdata\local\temp\pip-req-build-_5h_zx6o
Building wheels for collected packages: pycocotools
  Running setup.py bdist_wheel for pycocotools ... done
  Stored in directory: C:\Users\peter\AppData\Local\Temp\pip-ephem-wheel-cache-f2p0wo9j\wheels\69\2b\12\2fa959e49f73d26cff202c2f4e5079096c9c57c8a8509fd75c
Successfully built pycocotools
Installing collected packages: pycocotools
Successfully installed pycocotools-2.0
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
  1. ok!

这里是这个文件的地址,有需要的小伙伴可以自行下载
https://gist.github.com/cgpeter96/c56d28798faec5e689cf6139e8341d39

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

win10安装pycocotools遇到的问题(gcc.exe failed with exit status 1) 的相关文章

随机推荐

  • vuex与生命周期的关系

    vue与生命周期的关系 问题呈现 获取到数据同时保存到vuex中 2 计算属性获取vuex中的值 3 循环输出 4 出现错误 问题解析 如果单独输出item questionSimpleInfo是可以输出整个对象的 但是输出其中某一个字段的
  • 论文阅读-Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(F3Net基于频率感知线索的人脸)

    一 论文信息 题目 Thinking in Frequency Face Forgery Detection by Mining Frequency aware Clues 基于频率感知线索的人脸伪造检测 作者团队 会议 ECCV 2020
  • Markdown矩阵及公式语法编辑

    Markdown矩阵及公式语法编辑 详见链接 https cloud tencent com developer article 1402840
  • 9. xaml ComboBox控件

    1 运行图像 2 运行源码 a Xaml源码
  • C++中虚函数、虚指针和虚表详解

    关于虚函数的背景知识 用virtual关键字申明的函数叫做虚函数 虚函数肯定是类的成员函数 存在虚函数的类都有一个一维的虚函数表叫做虚表 每一个类的对象都有一个指向虚表开始的虚指针 虚表是和类对应的 虚表指针是和对象对应的 多态性是一个接口
  • Windows CMD 输出文本到文件,不加换行符

    gt test txt set p Hello
  • 共筑安全创新生态,持安科技加入麒麟软件安全生态联盟

    近日 麒麟软件安全生态联盟第二季度工作会议成功举行 零信任办公安全领域明星企业持安科技受邀参会 并参与授牌环节成为麒麟软件安全生态联盟会员单位 麒麟软件安全生态联盟授牌仪式 会上 联盟成员单位围绕操作系统安全事件与漏洞发展趋势 行业应用对操
  • Beego v2.0 编译后无法运行问题

    问题 beego版本 v2 0 1 通过bee pack be GOOS linux 打包后运行可执行程序报错 如下 panic err go command required not found exec go executable fi
  • Vue+Element-ui Table 列求和

    Vue Element ui Table 列求和 Vue代码 求和getSummaries 效果图 Vue代码
  • [GameFramework分析] Log(日志)

    文章目录 使用 分析 Unity脚本 Log LogScriptingDefineSymbols ScriptingDefineSymbols DefaultLogHelper 框架类 GameFrameworkLogLevel GameF
  • graylog日志分析管理系统入门教程

    日志分析系统可以实时收集 分析 监控日志并报警 当然也可以非实时的分析日志 splunk是功能强大且用起来最省心的 但是要收费 免费版有每天500M的限制 超过500M的日志就没法处理了 ELK系统是最常见的 缺点是配置麻烦一些 比较重量级
  • MySQL之InnoDB引擎(一)

    1 InnoDB介绍 InnoDB是一个通用的存储引擎 同时具备高可靠性与高性能的特性 除非用户指定存储引擎的类型 否则其作为MySQL Server的默认存储引擎 使用InnoDB存储引擎的优势包括如下几点 DML操作符合ACID模型 使
  • 编码技巧——事务提交后执行

    日常开发中 一些诸如 先读后写 先写A再写B 先写A再执行B 的场景 一般都会用到事务 这里的事务指的是本地事务 如果涉及RPC 一般我们通过异步补偿来保证最终一致性 本篇例举2个使用事务 先写A再执行B 的场景 1 订单场景 1 处理支付
  • MeshTextPro 自动换行和自动缩放问题

    如果启用了autosize MeshTextPro会优先显示完一个单词之后才会进行换行 当此时如果一个单词过于场的话 MeshTextPro会对其进行缩放 直至当前行可以显示完整单词之后 在进行换行处理 如果需要自动缩放 但是又想其填满一行
  • 一文读懂元宇宙--元宇宙含义

    元宇宙是 虚实融合的世界 包含模拟现实的虚拟世界 创新的虚拟世界 现实世界 也是元宇宙的一部分 虚拟和现实世界的融合 将高于 超越单一的虚拟或者现实世界 虚实融合的世界 图片来源于德勤 元宇宙的四层含义 图片来源于德勤 1 1 模拟现实的虚
  • 神经网络(三)—— 神经元多输出

    本系列为慕课网 深度学习之神经网络 CNN RNN GAN 算法原理 实战 视频笔记 希望自己能通过分享笔记的形式更好的掌握该部分内容 往期回顾 神经网络 一 机器学习 深度学习简介 神经网络 二 神经元 Logistic回归模型 多分类的
  • 优化算法 - RMSProp算法

    文章目录 RMSProp算法 1 算法 2 从零开始实现 3 简洁实现 4 小结 RMSProp算法 1 算法 import math import torch from d2l import torch as d2l d2l set fi
  • APP版本升级与服务器交互

    踏入程序媛旅程已经快一年了 学生生涯也即将结束 正式踏入工作岗位 万事开头难 只能多问多记 久病成医 遇到的问题多了自己的技术也会有所提高 博客也一年了 之前一直想写博 然后各种拖延 到现在才开始 希望自己能坚持 项目中加了一个APP版本升
  • 一种基于深度学习的全自动纸心电图数字化算法

    深度学习在医学检测仪方面的应用 人们越来越关注将深度学习方法应用于心电图 ECG 最近的研究表明 神经网络 NN 可以仅通过 ECG 预测未来的心力衰竭或心房颤动 然而 神经网络的训练需要大量的心电图 而目前很多心电图只是纸质的 不适合神经
  • win10安装pycocotools遇到的问题(gcc.exe failed with exit status 1)

    背景安装pycocotools一直过不去 一直报错 PS C Users peter gt pip install git https github com philferriere cocoapi git subdirectory Pyt