zoukankan      html  css  js  c++  java
  • Win10 pip安装pycocotools报错解决方法(cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”)

    参考:

    https://blog.csdn.net/chixia1785/article/details/80040172

    https://blog.csdn.net/gxiaoyaya/article/details/78363391

    Mask_RCNN用COCO数据集训练需要用到pycocotools这个第三方库,在命令行用 pip install pycocotools会报错

    安装pycocotools

    1、获取源码:

    (base) G:>git clone https://github.com/pdollar/coco.git

    2、安装

    (base) G:>cd coco/PythonAPI

    (base) G:cocoPythonAPI>python setup.py build_ext --inplace

    发现报错,主要内容为:

    cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
    error: command 'H:\VisualStudio2017\install\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe' failed with exit status 2

    (base) G:>pip install pycocotools
    Collecting pycocotools
     Downloading https://files.pythonhosted.org/packages/96/84/9a07b1095fd8555ba3f3d519517c8743c2554a245f9476e5e39869f948d2/pycocotools-2.0.0.tar.gz (1.5MB)
      100% |████████████████████████████████| 1.5MB 3.7MB/s
    Building wheels for collected packages: pycocotools
     Running setup.py bdist_wheel for pycocotools ... error
     Complete output from command f:anaconda3python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\new\AppData\Local\Temp\pip-install-dhenr2zw\pycocotools\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace(' ', ' ');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:Users ewAppDataLocalTemppip-wheel-_9g45pb4 --python-tag cp36:
     running bdist_wheel
     running build
     running build_py
     creating build
     creating buildlib.win-amd64-3.6
     creating buildlib.win-amd64-3.6pycocotools
     copying pycocotoolscoco.py -> buildlib.win-amd64-3.6pycocotools
     copying pycocotoolscocoeval.py -> buildlib.win-amd64-3.6pycocotools
     copying pycocotoolsmask.py -> buildlib.win-amd64-3.6pycocotools
     copying pycocotools\__init__.py -> buildlib.win-amd64-3.6pycocotools
     running build_ext
     building 'pycocotools._mask' extension
     creating build emp.win-amd64-3.6
     creating build emp.win-amd64-3.6Release
     creating build emp.win-amd64-3.6Releasepycocotools
     creating build emp.win-amd64-3.6Releasecommon
     H:VisualStudio2017installVCToolsMSVC14.15.26726inHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -If:anaconda3libsite-packages umpycoreinclude -Icommon -If:anaconda3include -If:anaconda3include -IH:VisualStudio2017installVCToolsMSVC14.15.26726ATLMFCinclude -IH:VisualStudio2017installVCToolsMSVC14.15.26726include "-IC:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0cppwinrt" /Tcpycocotools/_mask.c /Fobuild emp.win-amd64-3.6Releasepycocotools/_mask.obj -Wno-cpp -Wno-unused-function -std=c99
     cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
     error: command 'H:\VisualStudio2017\install\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe' failed with exit status 2

     ----------------------------------------
     Failed building wheel for pycocotools
     Running setup.py clean for pycocotools
    Failed to build pycocotools
    Installing collected packages: pycocotools
     Running setup.py install for pycocotools ... error
      Complete output from command f:anaconda3python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\new\AppData\Local\Temp\pip-install-dhenr2zw\pycocotools\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace(' ', ' ');f.close();exec(compile(code, __file__, 'exec'))" install --record C:Users ewAppDataLocalTemppip-record-e6xfvts6install-record.txt --single-version-externally-managed --compile:
      running install
      running build
      running build_py
      creating build
      creating buildlib.win-amd64-3.6
      creating buildlib.win-amd64-3.6pycocotools
      copying pycocotoolscoco.py -> buildlib.win-amd64-3.6pycocotools
      copying pycocotoolscocoeval.py -> buildlib.win-amd64-3.6pycocotools
      copying pycocotoolsmask.py -> buildlib.win-amd64-3.6pycocotools
      copying pycocotools\__init__.py -> buildlib.win-amd64-3.6pycocotools
      running build_ext
      building 'pycocotools._mask' extension
      creating build emp.win-amd64-3.6
      creating build emp.win-amd64-3.6Release
      creating build emp.win-amd64-3.6Releasepycocotools
      creating build emp.win-amd64-3.6Releasecommon
      H:VisualStudio2017installVCToolsMSVC14.15.26726inHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -If:anaconda3libsite-packages umpycoreinclude -Icommon -If:anaconda3include -If:anaconda3include -IH:VisualStudio2017installVCToolsMSVC14.15.26726ATLMFCinclude -IH:VisualStudio2017installVCToolsMSVC14.15.26726include "-IC:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0cppwinrt" /Tcpycocotools/_mask.c /Fobuild emp.win-amd64-3.6Releasepycocotools/_mask.obj -Wno-cpp -Wno-unused-function -std=c99
      cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
      error: command 'H:\VisualStudio2017\install\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe' failed with exit status 2

      ----------------------------------------
    Command "f:anaconda3python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\new\AppData\Local\Temp\pip-install-dhenr2zw\pycocotools\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace(' ', ' ');f.close();exec(compile(code, __file__, 'exec'))" install --record C:Users ewAppDataLocalTemppip-record-e6xfvts6install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:Users ewAppDataLocalTemppip-install-dhenr2zwpycocotools

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    ====================解决方法

    打开cocoPythonAPI目录下的 setup.py文件,修改ext_modules  extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],

    修改如下:

    --------------------------------------------------------------

    from setuptools import setup, Extension
    import numpy as np

    # To compile and install locally run "python setup.py build_ext --inplace"
    # To install library to Python site-packages run "python setup.py build_ext install"

    ext_modules = [
      Extension(
        'pycocotools._mask',
        sources=['../common/maskApi.c', 'pycocotools/_mask.pyx'],
        include_dirs = [np.get_include(), '../common'],

        #修改位置,去掉
        #extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
        extra_compile_args=['', '', ''],
      )
    ]

    setup(
      name='pycocotools',
      packages=['pycocotools'],
      package_dir = {'pycocotools': 'pycocotools'},
      install_requires=[
        'setuptools>=18.0',
        'cython>=0.27.3',
        'matplotlib>=2.1.0'
      ],
      version='2.0',
      ext_modules= ext_modules
    )

    --------------------------------------------------------------

    然后保存setup.py文件

    然后继续执行

    (base) G:cocoPythonAPI>python setup.py build_ext --inplace

    控制台输出:

    ==================================

    running build_ext
    skipping 'pycocotools\_mask.c' Cython extension (up-to-date)
    building 'pycocotools._mask' extension
    H:VisualStudio2017installVCToolsMSVC14.15.26726inHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IF:Anaconda3libsite-packages umpycoreinclude -I../common -IF:Anaconda3include -IF:Anaconda3include -IH:VisualStudio2017installVCToolsMSVC14.15.26726ATLMFCinclude -IH:VisualStudio2017installVCToolsMSVC14.15.26726include "-IC:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0cppwinrt" /Tc../common/maskApi.c /Fobuild emp.win-amd64-3.6Release../common/maskApi.obj
    maskApi.c
    H:VisualStudio2017installVCToolsMSVC14.15.26726inHostX86x64cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IF:Anaconda3libsite-packages umpycoreinclude -I../common -IF:Anaconda3include -IF:Anaconda3include -IH:VisualStudio2017installVCToolsMSVC14.15.26726ATLMFCinclude -IH:VisualStudio2017installVCToolsMSVC14.15.26726include "-IC:Program Files (x86)Windows KitsNETFXSDK4.6.1includeum" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17134.0cppwinrt" /Tcpycocotools\_mask.c /Fobuild emp.win-amd64-3.6Releasepycocotools\_mask.obj
    _mask.c
    f:anaconda3libsite-packages umpycoreinclude umpy py_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(3162): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据
    pycocotools\_mask.c(3586): warning C4244: “函数”: 从“npy_intp”转换到“siz”,可能丢失数据
    pycocotools\_mask.c(7016): warning C4244: “=”: 从“npy_intp”转换到“siz”,可能丢失数据
    pycocotools\_mask.c(7819): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据
    pycocotools\_mask.c(15677): warning C4244: “初始化”: 从“double”转换到“float”,可能丢失数据
    pycocotools\_mask.c(15683): warning C4244: “初始化”: 从“double”转换到“float”,可能丢失数据
    creating G:cocoPythonAPIuildlib.win-amd64-3.6
    creating G:cocoPythonAPIuildlib.win-amd64-3.6pycocotools
    H:VisualStudio2017installVCToolsMSVC14.15.26726inHostX86x64link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:F:Anaconda3libs /LIBPATH:F:Anaconda3PCbuildamd64 /LIBPATH:H:VisualStudio2017installVCToolsMSVC14.15.26726ATLMFClibx64 /LIBPATH:H:VisualStudio2017installVCToolsMSVC14.15.26726libx64 "/LIBPATH:C:Program Files (x86)Windows KitsNETFXSDK4.6.1libumx64" "/LIBPATH:C:Program Files (x86)Windows Kits10lib10.0.17134.0ucrtx64" "/LIBPATH:C:Program Files (x86)Windows Kits10lib10.0.17134.0umx64" /EXPORT:PyInit__mask build emp.win-amd64-3.6Release../common/maskApi.obj build emp.win-amd64-3.6Releasepycocotools\_mask.obj /OUT:buildlib.win-amd64-3.6pycocotools\_mask.cp36-win_amd64.pyd /IMPLIB:build emp.win-amd64-3.6Release../common\_mask.cp36-win_amd64.lib
    正在创建库 build emp.win-amd64-3.6Release../common\_mask.cp36-win_amd64.lib 和对象 build emp.win-amd64-3.6Release../common\_mask.cp36-win_amd64.exp
    正在生成代码
    已完成代码的生成
    copying buildlib.win-amd64-3.6pycocotools\_mask.cp36-win_amd64.pyd -> pycocotools

    ==================================

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    然后执行:python setup.py build_ext install

    (base) G:cocoPythonAPI>python setup.py build_ext install
    running build_ext
    skipping 'pycocotools\_mask.c' Cython extension (up-to-date)
    running install
    running bdist_egg
    running egg_info
    creating pycocotools.egg-info
    writing pycocotools.egg-infoPKG-INFO
    writing dependency_links to pycocotools.egg-infodependency_links.txt
    writing requirements to pycocotools.egg-info equires.txt
    writing top-level names to pycocotools.egg-info op_level.txt
    writing manifest file 'pycocotools.egg-infoSOURCES.txt'
    reading manifest file 'pycocotools.egg-infoSOURCES.txt'
    writing manifest file 'pycocotools.egg-infoSOURCES.txt'
    installing library code to builddist.win-amd64egg
    running install_lib
    running build_py
    copying pycocotoolscoco.py -> buildlib.win-amd64-3.6pycocotools
    copying pycocotoolscocoeval.py -> buildlib.win-amd64-3.6pycocotools
    copying pycocotoolsmask.py -> buildlib.win-amd64-3.6pycocotools
    copying pycocotools\__init__.py -> buildlib.win-amd64-3.6pycocotools
    creating builddist.win-amd64
    creating builddist.win-amd64egg
    creating builddist.win-amd64eggpycocotools
    copying buildlib.win-amd64-3.6pycocotoolscoco.py -> builddist.win-amd64eggpycocotools
    copying buildlib.win-amd64-3.6pycocotoolscocoeval.py -> builddist.win-amd64eggpycocotools
    copying buildlib.win-amd64-3.6pycocotoolsmask.py -> builddist.win-amd64eggpycocotools
    copying buildlib.win-amd64-3.6pycocotools\_mask.cp36-win_amd64.pyd -> builddist.win-amd64eggpycocotools
    copying buildlib.win-amd64-3.6pycocotools\__init__.py -> builddist.win-amd64eggpycocotools
    byte-compiling builddist.win-amd64eggpycocotoolscoco.py to coco.cpython-36.pyc
    byte-compiling builddist.win-amd64eggpycocotoolscocoeval.py to cocoeval.cpython-36.pyc
    byte-compiling builddist.win-amd64eggpycocotoolsmask.py to mask.cpython-36.pyc
    byte-compiling builddist.win-amd64eggpycocotools\__init__.py to __init__.cpython-36.pyc
    creating stub loader for pycocotools\_mask.cp36-win_amd64.pyd
    byte-compiling builddist.win-amd64eggpycocotools\_mask.py to _mask.cpython-36.pyc
    creating builddist.win-amd64eggEGG-INFO
    copying pycocotools.egg-infoPKG-INFO -> builddist.win-amd64eggEGG-INFO
    copying pycocotools.egg-infoSOURCES.txt -> builddist.win-amd64eggEGG-INFO
    copying pycocotools.egg-infodependency_links.txt -> builddist.win-amd64eggEGG-INFO
    copying pycocotools.egg-info equires.txt -> builddist.win-amd64eggEGG-INFO
    copying pycocotools.egg-info op_level.txt -> builddist.win-amd64eggEGG-INFO
    writing builddist.win-amd64eggEGG-INFO ative_libs.txt
    zip_safe flag not set; analyzing archive contents...
    pycocotools.__pycache__._mask.cpython-36: module references __file__
    creating dist
    creating 'distpycocotools-2.0-py3.6-win-amd64.egg' and adding 'builddist.win-amd64egg' to it
    removing 'builddist.win-amd64egg' (and everything under it)
    Processing pycocotools-2.0-py3.6-win-amd64.egg
    creating f:anaconda3libsite-packagespycocotools-2.0-py3.6-win-amd64.egg
    Extracting pycocotools-2.0-py3.6-win-amd64.egg to f:anaconda3libsite-packages
    Adding pycocotools 2.0 to easy-install.pth file

    Installed f:anaconda3libsite-packagespycocotools-2.0-py3.6-win-amd64.egg
    Processing dependencies for pycocotools==2.0
    Searching for matplotlib==2.2.2
    Best match: matplotlib 2.2.2
    Adding matplotlib 2.2.2 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for Cython==0.28.2
    Best match: Cython 0.28.2
    Adding Cython 0.28.2 to easy-install.pth file
    Installing cygdb-script.py script to F:Anaconda3Scripts
    Installing cygdb.exe script to F:Anaconda3Scripts
    Installing cython-script.py script to F:Anaconda3Scripts
    Installing cython.exe script to F:Anaconda3Scripts
    Installing cythonize-script.py script to F:Anaconda3Scripts
    Installing cythonize.exe script to F:Anaconda3Scripts

    Using f:anaconda3libsite-packages
    Searching for setuptools==39.1.0
    Best match: setuptools 39.1.0
    Adding setuptools 39.1.0 to easy-install.pth file
    Installing easy_install-script.py script to F:Anaconda3Scripts
    Installing easy_install.exe script to F:Anaconda3Scripts

    Using f:anaconda3libsite-packages
    Searching for kiwisolver==1.0.1
    Best match: kiwisolver 1.0.1
    Adding kiwisolver 1.0.1 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for six==1.11.0
    Best match: six 1.11.0
    Adding six 1.11.0 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for pytz==2018.4
    Best match: pytz 2018.4
    Adding pytz 2018.4 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for python-dateutil==2.7.3
    Best match: python-dateutil 2.7.3
    Adding python-dateutil 2.7.3 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for pyparsing==2.2.0
    Best match: pyparsing 2.2.0
    Adding pyparsing 2.2.0 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for cycler==0.10.0
    Best match: cycler 0.10.0
    Adding cycler 0.10.0 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Searching for numpy==1.14.3
    Best match: numpy 1.14.3
    Adding numpy 1.14.3 to easy-install.pth file

    Using f:anaconda3libsite-packages
    Finished processing dependencies for pycocotools==2.0

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    (base) G:cocoPythonAPI>

    安装完毕!

    然后执行Mask_RCNN测试代码

  • 相关阅读:
    HTML5 ViewPort 资料收集
    [ASP.NET 技术点滴] Jquery 前端验证
    [转帖]Asp.NET 弹出页面
    [转]ASP.NET 页生命周期概述
    C#时间转整型(时间戳),模仿php strtotime函数的部分功能
    [转]使用微软的官方类库CHSPinYinConv获得汉字拼音
    [转]ASP.NET数据库连接字符串总结
    gradle 生成 pom,引用mybatis-plus源代码到自己的工程中
    困扰的问题终于解决了-docker时区不正确的问题修改记
    mybatis plus3.1.0 热加载mapper
  • 原文地址:https://www.cnblogs.com/herd/p/9617857.html
Copyright © 2011-2022 走看看