Hier ist, was ich wie beschrieben here installiert:CMake Fehler „NumPy Importfehler“ beim Kompilieren Boost.Numpy
1. Python 3.5 (Anaconda3 2.4.3)
Chainer 1.5.0.2
Cython 0.23.4
NumPy 1.10.1
tqdm
2. OpenCV 3.0.0
3. lmdb 0.87
4. Boost 1.59.0
Als nächstes möchte ich Boost.NumPy kompilieren und zu installieren. Am Anfang konnte das NumPy-Modul nicht gefunden werden. Nach einiger Suche fand ich NumPy bezogene Dateien in ~/anaconda3/lib/python3.5/site-packages/numpy/core/include/numpy
statt so etwas wie /usr/lib
, /usr/local/lib
usw. Daher in /Boost.NumPy/CMakeList.txt
ich diese Zeile hinzugefügt:
set(NUMPY_INCLUDE_DIRS, /home/graphics/anaconda3/lib/python3.5/site-packages)
Aber NumPy konnte noch nicht gefunden werden. Ein Fehler ist aufgetreten, während ich cmake -DPYTHON_LIBRARY=$HOME/anaconda3/lib/libpython3.5m.so ../
ausführen, um das Makefile für Boost.NumPy zu generieren. Hier ist der Fehler:
[email protected]:~/usr/Boost.NumPy/build$ sudo cmake -DPYTHON_LIBRARY=$HOME/anaconda3/lib/libpython3.5m.so ../
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonInterp: /usr/bin/python3.5 (found suitable version "3.5.1", minimum required is "3.5")
-- Found PythonInterp: /usr/bin/python3.5 (found version "3.5.1")
-- Found PythonLibs: /home/graphics/anaconda3/lib/libpython3.5m.so
CMake Error at libs/numpy/cmake/FindNumPy.cmake:61 (message):
NumPy import failure:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named 'numpy'
Call Stack (most recent call first):
CMakeLists.txt:30 (find_package)
-- Configuring incomplete, errors occurred!
ich versucht habe NUMPY_INCLUDE_DIRS
mit einigen anderen Verzeichnissen zu ersetzen, aber nichts funktioniert. Was soll ich an die CMakelists.txt
schreiben, um cmake zu sagen, wo NumPy Modul zu finden ist und es importieren?
Vielen Dank im Voraus!
Andere Dateien, die erforderlich sein könnten, um herauszufinden, was schief geht:
- CMakeLists.txt von Boost.NumPy.
Comma (',') in nicht erforderlich '() gesetzt. Anstelle von Änderungen an 3D-Party-CMake-Skripten ist es auch vorzuziehen, die Variablen in der beschriebenen Umgebung in cmake zu setzen: cmake -DPYTHON_LIBRARY = <...> -DNUMPY_INCLUDE_DIRS = <...> '. –
Tsyvarev
@Tsyvarev Danke, aber es funktioniert nicht, nachdem ich es wie folgt ausgeführt habe: 'sudo cmake -DYPTHON_LIBRARY = $ HOME/anaconda3/lib/libpython3.5m.so -DNUMPY_INCLUDE_DIRS = $ HOME/anacon da3/lib/python3.5/Site-Pakete/numpy/core/include/numpy ../ '. was sollte ich schreiben? – Anonymous
Variable 'NUMPY_INCLUDE_DIRS' setzt Verzeichnis für die Suche ** Header-Dateien ** (in C/C++ Quellen). Es hat keine Auswirkungen auf die Suche von Python-Modulen. Sie müssen [PYTHONPATH] (https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH) * Umgebungsvariable * setzen, damit die Dinge funktionieren. – Tsyvarev