Désolé si ceci est basique mais j'essaie d'installer dlib pour l'utiliser avec python comme indiqué dans ( http://blog.dlib.net/2014/04/dlib-187-released-make-your-own-object .html ) "Fabrique ton propre détecteur d'objets en Python!".
J'ai téléchargé les fichiers d'installation, décompressés et utilisé cmake comme indiqué dans les instructions d'installation ( http://dlib.net/compile.html ).
cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
qui semblait bien fonctionner
Cependant, taper "import dlib" en Python donne simplement ImportError: Aucun module nommé dlib.
Une idée de comment je dis à Python comment trouver/utiliser la chose?
Juste une note pour référence que le moyen le plus facile à installer est maintenant d'utiliser:
Sudo python setup.py install
Instructions d'installation de Dlib pour OSX (python3)
brew uninstall boost-python
brew uninstall boost
brew install boost-python --with-python3 --without-python
Installation de dlib par défaut
pip3 install dlib
Suivant accélère quelque peu L'installation de dlib avec les instructions AVX, SSE2, SSE4 est activée (téléchargez le code source à partir de dlib.net et exécutez-le à partir du répertoire).
python setup.py install --yes USE_AVX_INSTRUCTIONS --yes USE_SSE2_INSTRUCTIONS --yes USE_SSE4_INSTRUCTIONS
Au lieu de la modification manuelle des fichiers, vous pouvez passer -DPYTHON_LIBRARY:FILEPATH=/path/to/your/libpython2.7.dylib
à cmake
.
Ce que ./compile_dlib_python_module.bat
fait est
mkdir build
cd build
cmake ../../tools/python
Donc, il suffit d’exécuter les commandes une à une et au lieu de
cmake ../../tools/python
courir
cmake ../../tools/python -DPYTHON_LIBRARY:FILEPATH=/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib
J'ai finalement réussi à le faire fonctionner! Je posterai un article de blog détaillé à ce sujet plus tard, mais voici l'essentiel pour le moment. En gros, lorsque j’ai inspecté manuellement la sortie de cmake, dlib compilait et liait la version système de Python not la version Homebrew de python.
Si les détails vous intéressent, il semble que cmake essaye de compiler et de créer un lien avec /usr/lib/libpython2.7.dylib
. Cependant, c'est la version système de Python. Il devrait compiler une liaison avec /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib
qui est la version Homebrew de Python.
J'ai édité manuellement CMakeFiles/dlib_.dir/build.make
et /CMakeFiles/dlib_.dir/link.txt
pour qu'ils pointent vers le fichier Homebrew dylib au lieu du fichier système. J'ai été capable de compiler dlib puis de l'exécuter sans segfault. De plus, j'ai pu exécuter les détecteurs d'objet sans problème.
Sur Ubuntu je devais faire ce qui suit:
Sudo apt-get install libboost-python-dev cmake
cd à dlib-18.15/python_examples
Ensuite:
./compile_dlib_python_module.bat
J'ai ensuite copié le dlib.so
dans dist-packages pour qu'il soit dans mon chemin.
Sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/
Selon la documentation, compile_dlib_python_module.bat
fonctionnera sur tous les systèmes d'exploitation une fois que vous aurez installé CMake
et boost-python
.
Vous compilez les exemples de programmes C++. Les exemples python se trouvent dans le dossier python_examples. En outre, chaque exemple comporte des instructions en haut qui vous expliquent comment l'utiliser.
Si vous utilisez Conda, c'est beaucoup plus facile.
conda install -c menpo dlib
pour l'utilisation du support Python 3:
python setup.py install --yes DPYTHON3
Si vous avez déjà compilé dlib le code source à partir de github par la commande cmake ..__, vous devez exécuter un programme python pour appeler dlib api.
Vous devriez compiler l'API Python dlib comme ci-dessous,
Sudo python setup.py install
Ou
Sudo python setup.py install --yes USE_AVX_INSTRUCTIONS
si vous avez un processeur qui prend en charge les instructions AVX, cela accélère certaines choses. Notez que vous devez avoir installé boost-python pour compiler l'API Python. (Lié depuis dlib README.md)
Ça marche pour moi.
J'ai rencontré la même erreur avec vous.
Lorsque j'ai consulté le dossier "C:\Anaconda3\Lib\site-packages"
, j'ai trouvé "dlib-19.8.0-py3.4-win-AMD64.Egg\"
, cela signifie que j'ai compilé dlib avec succès, mais il n'y a pas de dossier "dlib\"
sous le "C:\Anaconda3\Lib\site-packages"
, il se trouve dans le dossier "dlib-19.8.0-py3.4-win-AMD64.Egg\"
. La solution est donc simple: copiez simplement le dossier "dlib\"
dans le chemin "C:\Anaconda3\Lib\site-packages"
, l’interprète Python trouvera le module et l’importera avec succès.
J'espère que ça va aider!