构建pycocotools失败

5

我是机器学习新手,正在尝试使用以下命令下载repo的要求:

pip install -r requirements.txt

我目前正在使用Anaconda(3.7)版本2020.02。所有其他要求均已满足,但我遇到了以下错误:

Building wheels for collected packages: pycocotools
  Building wheel for pycocotools (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\Hp\anaconda3\envs\wob1\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Hp\\AppData\\Local\\Temp\\pip-req-build-mfm5emhp\\PythonAPI\\setup.py'"'"'; __file__='"'"'C:\\Users\\Hp\\AppData\\Local\\Temp\\pip-req-build-mfm5emhp\\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\Hp\AppData\Local\Temp\pip-wheel-g2bhmm6i'
       cwd: C:\Users\Hp\AppData\Local\Temp\pip-req-build-mfm5emhp\PythonAPI
  Complete output (22 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.8
  creating build\lib.win-amd64-3.8\pycocotools
  copying pycocotools\coco.py -> build\lib.win-amd64-3.8\pycocotools
  copying pycocotools\cocoeval.py -> build\lib.win-amd64-3.8\pycocotools
  copying pycocotools\mask.py -> build\lib.win-amd64-3.8\pycocotools
  copying pycocotools\__init__.py -> build\lib.win-amd64-3.8\pycocotools
  running build_ext
  cythoning pycocotools/_mask.pyx to pycocotools\_mask.c
  C:\Users\Hp\anaconda3\envs\wob1\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\Hp\AppData\Local\Temp\pip-req-build-mfm5emhp\PythonAPI\pycocotools\_mask.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)
  building 'pycocotools._mask' extension
  creating build\temp.win-amd64-3.8
  creating build\temp.win-amd64-3.8\common
  creating build\temp.win-amd64-3.8\Release
  creating build\temp.win-amd64-3.8\Release\pycocotools
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.26.28801\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\Hp\anaconda3\envs\wob1\lib\site-packages\numpy\core\include -I../common -IC:\Users\Hp\anaconda3\envs\wob1\include -IC:\Users\Hp\anaconda3\envs\wob1\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.26.28801\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tc../common/maskApi.c /Fobuild\temp.win-amd64-3.8\Release\../common/maskApi.obj -Wno-cpp -Wno-unused-function -std=c99
  cl : Command line error D8021 : invalid numeric argument '/Wno-cpp'
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.26.28801\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for pycocotools
  Running setup.py clean for pycocotools
Failed to build pycocotools

我尝试了其他建议的解决方案,可以在终端中导入pycocotools,而且我有Microsoft Visual Studio。感谢任何帮助。


1
该库似乎不支持Windows系统。但是,似乎有一些分支可以提供支持,请参见:https://github.com/cocodataset/cocoapi/issues/51 - cel
2个回答

8

如果您正在使用Conda环境,您可以这样安装:

conda install -c conda-forge pycocotools

这解决了我的问题。


1
太棒了!这正是我需要的。 - jeremytripp

1
我在尝试将pip install pycocotools安装到虚拟环境venv时,遇到了相同的错误。安装pycocotools需要其他软件包依赖项 - 我不确定具体是哪些,但它们在这里之中已经安装在venv中。可能只需要numpycython,但我还没有测试过。
我确信你的requirements.txt文件已经包含了所需的依赖关系。
通过将venv添加到~./bash_profile中的PYTHONPATH,使这些依赖项可被找到:
export PYTHONPATH="${PYTHONPATH}:path/to/venv"

如果您没有虚拟环境,那么包含依赖项的库的路径应该有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接