【问题标题】:How to install COCO PythonAPI in python3如何在python3中安装COCO PythonAPI
【发布时间】:2022-01-31 10:22:23
【问题描述】:

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

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

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

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

更新:通过更新COCO PythonAPI 项目解决。将此问题留给面临相同问题的人。

【问题讨论】:

    标签: python mscoco


    【解决方案1】:

    尝试以下步骤:

    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 运行该包。干杯!

    【讨论】:

    • 这一步是强制性的吗?我刚刚安装了cocoapi,没有先进行2to3转换,安装没有任何错误。
    • @avazula 如果它在没有转换的情况下对您有用,那就太好了!你使用的是什么版本的 Python?你在你的环境中使用 Anaconda 吗?
    • 我没有使用任何虚拟环境(现在我觉得不这样做很愚蠢)。我的 Python 版本是 3.5.2。我刚刚克隆了 repo 并使用 python3 启动了设置,一切似乎都很好。
    【解决方案2】:

    我用一个简单的步骤就完成了

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

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

    【讨论】:

      【解决方案3】:

      安装

      1. 使用alternative one 代替官方版本(python 3 存在问题)。将其安装在您的本地计算机上,全局(即,在任何虚拟环境之外)。你可以这样做:

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

      2. 检查是否全局安装:

        pip freeze | grep "pycocotools"

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

      1. 现在,在您的虚拟环境(conda 或其他)中,首先使用 pip 安装 numpycython(如果未安装则可能是 setuptools),然后:

        pip install pycocotools

      验证

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

      它在哪里?

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


      疑难解答:

      混淆的主要来源是在安装 cocoapi 之前您没有安装所需的包,或者您确实安装了所需的包但使用了不同的 python 版本。当您想检查是否安装了某些东西时,您可以检查例如 python3.6 并查看它是否存在,但实际上您正在使用 python3.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 版本匹配。如果不是这种情况,您可以使用sudo update-alternatives --config python 更改您的默认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 上进行了测试。

      【讨论】:

        【解决方案4】:

        如果您正在努力在 Ubuntu 20.04 和 python3.7 上构建 pycocotools 试试这个:

        sudo apt-get install -y python3.7-dev
        python3.7 -m pip install pycocotools>=2.0.1
        

        【讨论】:

          【解决方案5】:

          您也可以下载和使用 cocoapi 的替代版本(我使用的是 python 3.5)。以下是您可能想尝试的解决方案:
          How to download and use object detection datasets (e.g. coco or pascal)

          【讨论】:

            【解决方案6】:

            这就是我成功的方法! (原因是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 更新

              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 版权所有 (C) 2019 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有 保修单;甚至不考虑适销性或特定用途的适用性。'

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

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

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

              '安装成功pycocotools-2.0'

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2017-03-28
              • 2018-05-09
              • 2018-11-15
              • 2014-12-27
              • 2018-01-23
              • 2019-10-18
              • 2021-10-17
              相关资源
              最近更新 更多