从 github 存储库安装 wheel 文件时出现错误 pip(下载 pycocotools)

Error pip installing wheel file from github repository (to download pycocotools)

我正在安装 Tensorflow (1.15.0) 以执行一些深度学习对象检测,但在 pip 安装 pycocotools 时遇到问题。我正在关注 this 教程,这是一个最初来自 YouTube 频道 Sentdex 的更新教程。为此,我也在使用 Anaconda Prompt。

创建并激活 conda 环境并安装所有需要的包(TensorFlow、lxml 等)后,我尝试 运行 命令 pip install pycocotools 包,但出现以下错误:

Building wheels for collected packages: pycocotools
  Building wheel for pycocotools (setup.py) ... error

  ERROR: Command errored out with exit status 1:
   command: 'C:\anaconda3\envs\object\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\setup.py'"'"'; __file__='"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\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:\AppData\Local\Temp\pip-wheel-au01c73g'
       cwd: C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\
  Complete output (16 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  creating build\lib.win-amd64-3.7\pycocotools
  copying pycocotools\coco.py -> build\lib.win-amd64-3.7\pycocotools
  copying pycocotools\cocoeval.py -> build\lib.win-amd64-3.7\pycocotools
  copying pycocotools\mask.py -> build\lib.win-amd64-3.7\pycocotools
  copying pycocotools\__init__.py -> build\lib.win-amd64-3.7\pycocotools
  running build_ext
  cythoning pycocotools/_mask.pyx to pycocotools\_mask.c
  C:\anaconda3\envs\object\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:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\pycocotools\_mask.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)
  building 'pycocotools._mask' extension
  error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
  ----------------------------------------
  ERROR: 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
    ERROR: Command errored out with exit status 1:
     command: 'C:\anaconda3\envs\object\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\setup.py'"'"'; __file__='"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\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:\AppData\Local\Temp\pip-record-bjfh6urg\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\anaconda3\envs\object\Include\pycocotools'
         cwd: C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\
    Complete output (14 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    creating build\lib.win-amd64-3.7\pycocotools
    copying pycocotools\coco.py -> build\lib.win-amd64-3.7\pycocotools
    copying pycocotools\cocoeval.py -> build\lib.win-amd64-3.7\pycocotools
    copying pycocotools\mask.py -> build\lib.win-amd64-3.7\pycocotools
    copying pycocotools\__init__.py -> build\lib.win-amd64-3.7\pycocotools
    running build_ext
    skipping 'pycocotools\_mask.c' Cython extension (up-to-date)
    building 'pycocotools._mask' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\anaconda3\envs\object\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\setup.py'"'"'; __file__='"'"'C:\AppData\Local\Temp\pip-install-f_16w712\pycocotools\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:\AppData\Local\Temp\pip-record-bjfh6urg\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\anaconda3\envs\object\Include\pycocotools' Check the logs for full command output.

显然,需要从 this github 存储库下载一个 wheel 文件,在子目录 PythonAPI 下。我 运行 这样做的代码:

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

产生以下错误:

Collecting pycocotoolssubdirectory==PythonAPI
  Cloning https://github.com/philferriere/cocoapi to c:\appdata\local\temp\pip-install-c_lq0qhi\pycocotoolssubdirectory
    ERROR: Command errored out with exit status 1:
     command: 'C:\anaconda3\envs\object\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\AppData\Local\Temp\pip-install-c_lq0qhi\pycocotoolssubdirectory\setup.py'"'"'; __file__='"'"'C:\AppData\Local\Temp\pip-install-c_lq0qhi\pycocotoolssubdirectory\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\AppData\Local\Temp\pip-pip-egg-info-0mcbi3nr'
         cwd: C:\AppData\Local\Temp\pip-install-c_lq0qhi\pycocotoolssubdirectory\
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\anaconda3\envs\object\lib\tokenize.py", line 447, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: 'C:\AppData\Local\Temp\pip-install-c_lq0qhi\pycocotoolssubdirectory\setup.py'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

我怎样才能成功安装这个存储库?我需要 wheel 文件,以便我可以继续安装 pycocotools。注意:我已经安装了最新版本的 pip,所以这不是问题所在。

尝试运行如下:

pip install pycocotools-windows

按照建议 here