7

看来COCO PythonAPI只支持python2。但是人们确实在 python3 环境中使用它。

我尝试了可能的安装方法,比如

python3 setup.py build_ext --inplace
python3 setup.py install

但是python3 setup.py install会因为包含 python2 打印功能coco.py而失败。cocoeval.py

更新:通过更新COCO PythonAPI项目解决。把这个问题留给面临同样问题的人。

4

6 回答 6

10

尝试以下步骤:

  1. 使用 git clone 将文件夹克隆到您的驱动器中。在这种情况下,应该是git clone https://github.com/cocodataset/cocoapi.git
  2. 使用终端进入目录,或在目录中打开终端
  3. 输入2to3 . -w. 请注意,您可能必须安装一个软件包才能获得 2to3。它是将代码从 Python2 转换为 Python3 的优雅工具;此代码将所有 .py 文件从 Python2 兼容转换为 Python3 兼容
  4. 使用终端导航到设置文件夹
  5. 输入python3 setup.py install

这应该可以帮助您安装 COCO 或任何适用于 Python2 的包,并使用 Python3 运行该包。干杯!

于 2018-03-16T02:00:04.647 回答
5

我通过一个简单的步骤完成了它

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

** 在此之前,您需要在路径上安装 Visual C++ 2015 构建工具

在此处输入图像描述

于 2019-11-02T17:37:39.480 回答
5

安装

  1. 而不是官方版本(与 python 3 有问题)使用替代版本。将它安装在您的本地机器上,全局安装(即,在任何虚拟环境之外)。您可以通过以下方式做到这一点:

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

  2. 检查是否全局安装:

    pip freeze | grep "pycocotools"

pycocotools==2.0.0您应该在输出中看到类似的内容。

  1. 现在,在您的虚拟环境(conda 或其他)中,首先使用pipnumpy安装和cythonsetuptools如果未安装),然后:

    pip install pycocotools

核实

在您的项目中,导入(例如)from pycocotools import mask as mask然后print(mask.__author__). 这应该打印出作者的名字,即tsungyi

它在哪里?

与使用pip在虚拟环境中本地安装的任何其他包一样,已安装的包将转到您项目的外部库,位于site-packages下。这意味着它现在是您的虚拟环境的一部分,而不是您的项目的一部分。因此,可能想要使用您的代码的其他用户也必须在他们的 virtual-env 上重复此安装。


故障排除:

混淆的主要来源是在安装 cocoapi 之前没有安装所需的软件包,或者您确实安装了所需的软件包但使用了不同的 python 版本。当您想检查是否安装了某些东西时,您可以检查例如 python 3.6并查看它是否存在,但实际上您正在使用 python 3.7运行所有命令。因此,假设您使用的是python3.7。您需要确保:

  1. python -V给你python3.7而不是其他版本,并pip -V给你pip 19.2.3 from /home/<USER>/.local/lib/python3.7/site-packages/pip (python3.7),它实际上与你的默认 python 版本匹配。如果不是这种情况,您可以使用 更改默认 python sudo update-alternatives --config python,并按照一步说明进行操作。

  2. 所有必需的软件包都使用正确的pythonpip版本安装。您可以使用pippip3停止任何可能导致问题的差异来检查这一点: pip freeze | grep "<SUBSTRING-NAME-OF-PACKAGE>"或者pip show <PACKAGE-NAME>对于pip的更新版本。

  3. 要安装所需的软件包,在确定 (1) 之后,您需要运行: sudo apt install python-setuptools python3.7-dev python3-wheel build-essentialpip install numpy cython matplotlib


环境: 以上步骤在Ubuntu 18.4python 3.6.8pip 19.0.3上测试。

于 2019-08-28T14:34:11.447 回答
1

如果您正在努力在 Ubuntu 20.04 和 python3.7 上构建 pycocotools,请尝试以下操作:

sudo apt-get install -y python3.7-dev
python3.7 -m pip install pycocotools>=2.0.1
于 2021-04-01T08:29:05.183 回答
0

您也可以下载和使用 cocoapi 的替代版本(我使用的是 python 3.5)。这是您可能想尝试的解决方案:
如何下载和使用对象检测数据集(例如 coco 或 pascal)

于 2018-09-15T01:26:43.897 回答
0

这就是我成功的方法!(原因是gcc版本)

  1. 安装依赖:cython (pip install cython), opencv (pip install opencv-python)

  2. 通过以下命令检查 gcc 版本: gcc --version

  3. 您的输出将是这样的 'Command 'gcc' not found, 但可以安装: sudo apt install gcc '

  4. 键入以下命令来安装 gcc: sudo apt update

    sudo apt install build-essential

    sudo apt-get install manpages-dev

  5. 现在再次检查 gcc 版本(步骤 2),如果你得到低于输出

    'gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有保修;甚至不是为了适销性或特定用途的适用性。

  6. 现在运行 pycocotools 安装的代码:

    点安装“git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI”

  7. 最后等待检查是否安装成功:

    '成功安装 pycocotools-2.0'

于 2022-01-31T02:22:23.333 回答