Как установить 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 ответов
Попробуйте следующие шаги:
- Используйте git clone для клонирования папки на ваш диск. В этом случае это должно быть
git clone https://github.com/cocodataset/cocoapi.git
, - Используйте терминал для входа в каталог или откройте терминал внутри каталога.
- Введите
2to3 . -w
, Обратите внимание, что вам может потребоваться установить пакет, чтобы получить 2to3. Это элегантный инструмент для преобразования кода из Python2 в Python3. Этот код преобразует все файлы.py из Python2-совместимого в Python3-совместимый. - Введите папку для настройки в терминале или откройте терминал в каталоге установки.
- Введите
python3 setup.py install
,
Это должно помочь вам установить COCO или любой пакет, предназначенный для Python2, и запустить пакет, используя Python3. Ура!
Я выполнил это простым шагом
pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"
** перед этим вам необходимо установить инструменты сборки Visual C++ 2015 на свой путь
устанавливать
Вместо официальной версии (которая имеет проблемы с питоном 3) используйте альтернативную. Установите его на локальном компьютере, глобально (т.е. вне любой виртуальной среды). Вы можете сделать это:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
Проверьте, установлен ли он глобально:
pip freeze | grep "pycocotools"
Вы должны увидеть что-то вроде pycocotools==2.0.0
в вашем выводе.
Теперь, внутри вашей виртуальной среды (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. Вы должны убедиться, что:
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
и следуя одношаговой инструкции.Все необходимые пакеты устанавливаются с использованием правильной версии python или pip. Вы можете проверить это используя
pip
а такжеpip3
чтобы остановить любые различия, которые могут вызвать проблему:pip freeze | grep "<SUBSTRING-NAME-OF-PACKAGE>"
или жеpip show <PACKAGE-NAME>
для более свежих версий pip.Чтобы установить необходимые пакеты, после того как вы убедились в (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)
установите зависимости: cython (pip install cython), opencv (pip install opencv-python)
проверьте версию gcc с помощью этой команды: gcc --version
ваш вывод будет выглядеть так: «Команда« gcc »не найдена, но ее можно установить с помощью: sudo apt install gcc '
Введите следующие команды для установки gcc: sudo apt update
sudo apt install build-essential
sudo apt-get установить manpages-dev
теперь проверьте еще раз версию gcc (шаг 2), если вы получите результат ниже
'gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0Copyright (C) 2019 Free Software Foundation, Inc. Это бесплатное программное обеспечение; см. источник условий копирования. НЕТ гарантии; даже не из-за КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ».
теперь запустите код для установки pycocotools:
pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"
наконец, подождите, проверьте, прошла ли установка успешно:
«Успешно установлен pycocotools-2.0»