安装教程:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.2/docs/tutorials/INSTALL_cn.md

环境:

最难的一步:在windows上安装pycocotools

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

提示缺少Microsoft C++ 14

這裡的Microsoft Visual C++ 14.0指的是Build Tools for Visual Studio 2015 (Visual C++ 12對應到Visual Studio 2013,Visual C++ 15 對應到 Visual Studio 2017) 。

这里有点麻烦,需要在Visual Studio的Installer里面找这个组件,搜索“c++ 15”即可
安装完后开始-菜单中的这几项是:
在这里插入图片描述

安装好后依然报错:

Collecting git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
  Cloning https://github.com/philferriere/cocoapi.git to c:\users\www\appdata\local\temp\pip-req-build-q19gtlwc
  Running command git clone -q https://github.com/philferriere/cocoapi.git 'C:\Users\www\AppData\Local\Temp\pip-req-build-q19gtlwc'
Using legacy 'setup.py install' for pycocotools, since package 'wheel' is not installed.
Installing collected packages: pycocotools
    Running setup.py install for pycocotools ... error
    ERROR: Command errored out with exit status 1:
     command: 'e:\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-req-build-q19gtlwc\\PythonAPI\\setup.py'"'"'; __file__='"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-req-build-q19gtlwc\\PythonAPI\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\www\AppData\Local\Temp\pip-record-gp_b2arh\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\python39\Include\pycocotools'
         cwd: C:\Users\www\AppData\Local\Temp\pip-req-build-q19gtlwc\PythonAPI
    Complete output (32 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\pycocotools
    copying pycocotools\coco.py -> build\lib.win-amd64-3.9\pycocotools
    copying pycocotools\cocoeval.py -> build\lib.win-amd64-3.9\pycocotools
    copying pycocotools\mask.py -> build\lib.win-amd64-3.9\pycocotools
    copying pycocotools\__init__.py -> build\lib.win-amd64-3.9\pycocotools
    running build_ext
    building 'pycocotools._mask' extension
    creating build\temp.win-amd64-3.9
    creating build\temp.win-amd64-3.9\common
    creating build\temp.win-amd64-3.9\Release
    creating build\temp.win-amd64-3.9\Release\pycocotools
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ie:\python\python39\lib\site-packages\numpy\core\include -I../common -Ie:\python\python39\include -Ie:\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt /Tc../common/maskApi.c /Fobuild\temp.win-amd64-3.9\Release\../common/maskApi.obj
    maskApi.c
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ie:\python\python39\lib\site-packages\numpy\core\include -I../common -Ie:\python\python39\include -Ie:\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt /Tcpycocotools/_mask.c /Fobuild\temp.win-amd64-3.9\Release\pycocotools/_mask.obj
    _mask.c
    e:\python\python39\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
    pycocotools/_mask.c(3311): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据
    pycocotools/_mask.c(3721): warning C4244: “函数”: 从“npy_intp”转换到“siz”,可能丢失数据
    pycocotools/_mask.c(6728): warning C4244: “=”: 从“npy_intp”转换到“siz”,可能丢失数据
    pycocotools/_mask.c(7486): warning C4244: “=”: 从“Py_ssize_t”转换到“siz”,可能丢失数据
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:e:\python\python39\libs /LIBPATH:e:\python\python39\PCbuild\amd64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64 /EXPORT:PyInit__mask build\temp.win-amd64-3.9\Release\../common/maskApi.obj build\temp.win-amd64-3.9\Release\pycocotools/_mask.obj /OUT:build\lib.win-amd64-3.9\pycocotools\_mask.cp39-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.9\Release\../common\_mask.cp39-win_amd64.lib
    _mask.obj : warning LNK4197: 多次指定导出“PyInit__mask”;使用第一个规范
      正在创建库 build\temp.win-amd64-3.9\Release\../common\_mask.cp39-win_amd64.lib 和对象 build\temp.win-amd64-3.9\Release\../common\_mask.cp39-win_amd64.exp
    正在生成代码
    已完成代码的生成
    LINK : fatal error LNK1158: 无法运行“rc.exe”
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit code 1158
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'e:\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-req-build-q19gtlwc\\PythonAPI\\setup.py'"'"'; __file__='"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-req-build-q19gtlwc\\PythonAPI\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\www\AppData\Local\Temp\pip-record-gp_b2arh\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\python39\Include\pycocotools' Check the logs for full command output.
WARNING: You are using pip version 21.1.3; however, version 21.3.1 is available.
You should consider upgrading via the 'e:\python\python39\python.exe -m pip install --upgrade pip' command.

根据博客https://blog.csdn.net/qq_29969029/article/details/105879495
的思路,其实是程序运行时找不到rc.exe

我再次阅读报错log,找到使用该文件所需的路径

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64

以及它expect to call的文件(因为Windwos Kits文件夹下有多个版本,我推测是需要找到对应版本,我这里是10.0.17763.0

C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\

根据博客https://blog.csdn.net/zong596568821xp/article/details/78820144,
需要复制的rc.exerc.dll

C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86

复制过去,成功解决报错
在这里插入图片描述

C:\Users\www>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\www\appdata\local\temp\pip-req-build-kfdz_xbv
  Running command git clone -q https://github.com/philferriere/cocoapi.git 'C:\Users\www\AppData\Local\Temp\pip-req-build-kfdz_xbv'
Using legacy 'setup.py install' for pycocotools, since package 'wheel' is not installed.
Installing collected packages: pycocotools
    Running setup.py install for pycocotools ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
paddledet 2.2.0 requires cython_bbox, which is not installed.
Successfully installed pycocotools-2.0
WARNING: You are using pip version 21.1.3; however, version 21.3.1 is available.
You should consider upgrading via the 'e:\python\python39\python.exe -m pip install --upgrade pip' command.

继续执行paddle-detection安装命令,依然报错

Installing collected packages: cython-bbox
    Running setup.py install for cython-bbox ... error
    ERROR: Command errored out with exit status 1:
     command: 'e:\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-install-70n0353x\\cython-bbox_afd234ef58c34f938ab849910c9d5951\\setup.py'"'"'; __file__='"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-install-70n0353x\\cython-bbox_afd234ef58c34f938ab849910c9d5951\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\www\AppData\Local\Temp\pip-record-mvu4m4rc\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\python39\Include\cython-bbox'
         cwd: C:\Users\www\AppData\Local\Temp\pip-install-70n0353x\cython-bbox_afd234ef58c34f938ab849910c9d5951\
    Complete output (11 lines):
    running install
    running build
    running build_ext
    building 'cython_bbox' extension
    creating build
    creating build\temp.win-amd64-3.9
    creating build\temp.win-amd64-3.9\Release
    creating build\temp.win-amd64-3.9\Release\src
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ie:\python\python39\lib\site-packages\numpy\core\include -Ie:\python\python39\include -Ie:\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt /Tcsrc/cython_bbox.c /Fobuild\temp.win-amd64-3.9\Release\src/cython_bbox.obj -Wno-cpp
    cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'e:\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-install-70n0353x\\cython-bbox_afd234ef58c34f938ab849910c9d5951\\setup.py'"'"'; __file__='"'"'C:\\Users\\www\\AppData\\Local\\Temp\\pip-install-70n0353x\\cython-bbox_afd234ef58c34f938ab849910c9d5951\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\www\AppData\Local\Temp\pip-record-mvu4m4rc\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\python39\Include\cython-bbox' Check the logs for full command output.
WARNING: You are using pip version 21.1.3; however, version 21.3.1 is available.

解决方法:还是单独下载cython-bbox的源码,然后修改setup.py
下载地址:
https://pypi.org/project/cython-bbox/#files
操作教程:
https://blog.csdn.net/qq_19707521/article/details/106692395

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐