Notez que je suis resté coincé en essayant de faire pip install pycocoapi
normalement sur Windows.
(Le contenu suivant concerne principalement le dépannage + α sur https://github.com/cocodataset/cocoapi/issues/51. [Autres articles] sur Qiita (https://qiita.com/kekekekenta/items/ca9d5d1f197c373656ec) ), Mais j'ai ajouté diverses choses parce que le drapeau du compilateur n'était pas suffisant et que la construction était mousseuse.)
Si git n'est pas inclus en premier lieu, git for windows.
git clone https://github.com/cocodataset/cocoapi.git
Donc, je suis définitivement en train d'essayer de construire.
cd cocoapi\PythonAPI
python setup.py build_ext install
#Divers messages d'erreur ci-dessous
Donc, à partir d'ici, dépannez en fonction du contenu du message d'erreur.
ʻError: command'cl.exe 'failed: Non Si vous obtenez un message d'erreur comme fichier ou répertoire`, cl.exe n'est pas dans votre PATH.
La solution la plus simple consiste à installer Visual Studio et à utiliser ** Invite de commandes développeur **. (Puisqu'il existe divers articles sur la façon d'installer, voir ici.)
À propos, il existe différents types d'invites de commande pour les développeurs, mais cette fois, j'utiliserai ** l'invite de commande x64 Native Tools **.
Pour le démarrer, installez Visual Studio et tapez «x64 Native» dans la barre de recherche.
Maintenant, lancez l'invite de commande x64 Native Tools pour VS2017 et
cd cocoapi\PythonAPI #Chemin de cocoapi cloné avec git
python setup.py build_ext install
Quand je cours, j'obtiens un message d'erreur comme «argument numérique invalide» / Wno-cpp ». (À propos, si vous obtenez une erreur indiquant que python n'existe pas avant cela, le PATH de python n'est pas dans votre chemin.)
Donc, videz ʻextra_compile_args autour de la 14e ligne de
cocoapi \ PythonAPI \ setup.py` comme suit.
extra_compile_args=[],
#extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
Après la réécriture, réessayez.
Cette fois, on dit que le fichier d'en-tête est insuffisant, alors réécrivez ʻinclude_dirs dans
cocoapi \ PythonAPI \ setup.py` comme suit.
include_dirs = [np.get_include(), '../common', 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt', 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/winrt','C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/um','C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/shared'],
#include_dirs = [np.get_include(), '../common'],
10.0.17763.0
diffère selon la version de Windows, il est donc nécessaire de vérifier le contenu de C: \ Program Files (x86) \ Windows Kits \ 10 \ Include
avec l'Explorateur et de le réécrire dans la version existante. Il y a.C: \ Program Files (x86) \ Windows Kits
n'existe pas, vous devez ajouter le SDK Windows 10 à partir du programme d'installation de Visual Studio.Maintenant que l'indicateur de l'éditeur de liens est absent, ** ajoutez ce qui suit à la ligne suivant ʻinclude_dirs` **.
library_dirs = ['C:/Program Files (x86)/Windows Kits/10/Lib/10.0.17763.0/um/x64','C:/Program Files (x86)/Windows Kits/10/Lib/10.0.17763.0/ucrt/x64'],
10.0.17763.0
est la même que précédemment. (Si vous utilisez l'invite de commande x86 au lieu de l'invite de commande x64, vous devrez réécrire x64 en x86.)Au fait, le setup.py final ressemble à ceci.
from setuptools import setup, Extension
import numpy as np
# To compile and install locally run "python setup.py build_ext --inplace"
# To install library to Python site-packages run "python setup.py build_ext install"
ext_modules = [
Extension(
'pycocotools._mask',
sources=['../common/maskApi.c', 'pycocotools/_mask.pyx'],
include_dirs = [np.get_include(), '../common', 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/ucrt', 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/winrt','C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/um','C:/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/shared'],
library_dirs = ['C:/Program Files (x86)/Windows Kits/10/Lib/10.0.17763.0/um/x64','C:/Program Files (x86)/Windows Kits/10/Lib/10.0.17763.0/ucrt/x64'],
extra_compile_args=[],
)
]
setup(
name='pycocotools',
packages=['pycocotools'],
package_dir = {'pycocotools': 'pycocotools'},
install_requires=[
'setuptools>=18.0',
'cython>=0.27.3',
'matplotlib>=2.1.0'
],
version='2.0',
ext_modules= ext_modules
)
C'est le dernier fort. Ajoutez C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64
à votre PATH, rouvrez l'invite de commande x64 Native Tools et exécutez la même commande.
(Si vous ne souhaitez pas ajouter ce dossier à votre PATH, copiez simplement le rc.exe
et le rcdll.dll
à l'intérieur et placez-les dans un dossier de votre PATH.)
Ah, c'était un long chemin. Vous pouvez vérifier s'il est correctement installé avec la commande suivante.
python
>>> from pycocotools.coco import COCO
>>>
OK si aucune erreur ne se produit.
Recommended Posts