Как установить COCO PythonAPI в python3

Кажется, COCO PythonAPI поддерживает только python2. Но люди используют его в среде python3.

Я пробовал возможные способы его установки, например

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

Но python3 setup.py install потерпит неудачу из-за coco.py а также cocoeval.py содержащая функцию печати python2.

Обновление: решено обновлением проекта COCO PythonAPI. Оставьте этот вопрос людям, сталкивающимся с той же проблемой.

6 ответов

Решение

Попробуйте следующие шаги:

  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. Ура!

Я выполнил это простым шагом

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

** перед этим вам необходимо установить инструменты сборки Visual C++ 2015 на свой путь

устанавливать

  1. Вместо официальной версии (которая имеет проблемы с питоном 3) используйте альтернативную. Установите его на локальном компьютере, глобально (т.е. вне любой виртуальной среды). Вы можете сделать это:

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

  2. Проверьте, установлен ли он глобально:

    pip freeze | grep "pycocotools"

Вы должны увидеть что-то вроде pycocotools==2.0.0 в вашем выводе.

  1. Теперь, внутри вашей виртуальной среды (conda или что-то еще), сначала установите numpy а также cython (и возможно setuptools если он не установлен) с помощью pip, а затем:

    pip install pycocotools

проверить

Внутри вашего проекта импортируйте (например) from pycocotools import mask as mask а потом print(mask.__author__), Это должно распечатать имя автора, который является tsungyi.

Где это находится?

Установленный пакет, как и любые другие пакеты, которые локально устанавливаются внутри виртуального окружения с помощью pip, попадет во внешние библиотеки вашего проекта в разделе site-packages. Это означает, что теперь это часть вашего виртуального окружения, а не часть вашего проекта. Поэтому другие пользователи, которые могут захотеть использовать ваш код, должны повторить эту установку и в своем виртуальном окружении.


Поиск неисправностей:

Основным источником путаницы является то, что либо вы не установили необходимые пакеты перед установкой 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. Все необходимые пакеты устанавливаются с использованием правильной версии python или pip. Вы можете проверить это используя pip а также pip3 чтобы остановить любые различия, которые могут вызвать проблему: 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-essential а также pip install numpy cython matplotlib


Среда: описанные выше шаги были протестированы на Ubuntu 18.4, python 3.6.8, pip 19.0.3.

Если вы изо всех сил пытаетесь создать pycocotools в Ubuntu 20.04 и python3.7, попробуйте это:

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

Существуют альтернативные версии cocoapi, которые вы также можете скачать и использовать (я использую python 3.5). Вот решение, которое вы можете попробовать:
Как загрузить и использовать наборы данных для обнаружения объектов (например, Coco или Pascal)

вот как я сделал успешно! (причина - версия gcc)

  1. установите зависимости: cython (pip install cython), opencv (pip install opencv-python)

  2. проверьте версию gcc с помощью этой команды: gcc --version

  3. ваш вывод будет выглядеть так: «Команда« gcc »не найдена, но ее можно установить с помощью: sudo apt install gcc '

  4. Введите следующие команды для установки gcc: sudo apt update

    sudo apt install build-essential

    sudo apt-get установить manpages-dev

  5. теперь проверьте еще раз версию gcc (шаг 2), если вы получите результат ниже

    'gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0Copyright (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»

Другие вопросы по тегам