Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CMake错误“;“NumPy导入失败”;编译Boost.Numpy时_Python_Numpy_Cmake_Anaconda - Fatal编程技术网

Python CMake错误“;“NumPy导入失败”;编译Boost.Numpy时

Python CMake错误“;“NumPy导入失败”;编译Boost.Numpy时,python,numpy,cmake,anaconda,Python,Numpy,Cmake,Anaconda,以下是我按照说明安装的内容: 接下来我要编译并安装Boost.NumPy。开始时,找不到NumPy模块。经过一番搜索,我在~/anaconda3/lib/python3.5/site packages/NumPy/core/include/NumPy中找到了与NumPy相关的文件,而不是像/usr/lib、/usr/local/lib之类的文件。因此,在/Boost.NumPy/cmaklist.txt中,我添加了这一行: set(NUMPY_INCLUDE_DIRS, /home/graphi

以下是我按照说明安装的内容:

接下来我要编译并安装Boost.NumPy。开始时,找不到NumPy模块。经过一番搜索,我在
~/anaconda3/lib/python3.5/site packages/NumPy/core/include/NumPy
中找到了与NumPy相关的文件,而不是像
/usr/lib
/usr/local/lib
之类的文件。因此,在
/Boost.NumPy/cmaklist.txt
中,我添加了这一行:

set(NUMPY_INCLUDE_DIRS, /home/graphics/anaconda3/lib/python3.5/site-packages)
但仍然找不到NumPy。运行
cmake-DPYTHON_LIBRARY=$HOME/anaconda3/lib/libpython3.5m.so../
为Boost.NumPy生成makefile时出错。以下是错误:

graphics@gubuntu:~/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!
graphics@gubuntu:~/usr/Boost.NumPy/build$sudo cmake-DPYTHON_LIBRARY=$HOME/anaconda3/lib/libpython3.5m.so/
--C编译器标识为GNU4.9.2
--CXX编译器标识为GNU 4.9.2
--检查C编译器是否工作:/usr/bin/cc
--检查C编译器是否工作:/usr/bin/cc--works
--检测C编译器ABI信息
--检测C编译器ABI信息-完成
--检查CXX编译器是否工作:/usr/bin/c++
--检查CXX编译器是否正常工作:/usr/bin/c++--正常工作
--检测CXX编译器ABI信息
--检测CXX编译器ABI信息-完成
--找到PythonInterp:/usr/bin/python3.5(找到合适的版本“3.5.1”,最低要求为“3.5”)
--找到PythonInterp:/usr/bin/python3.5(找到版本“3.5.1”)
--找到PythonLibs:/home/graphics/anaconda3/lib/libpython3.5m.so
libs/numpy/CMake/FindNumPy处的CMake错误。CMake:61(消息):
NumPy导入失败:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为“numpy”的模块
调用堆栈(最新调用优先):
CMakeLists.txt:30(查找包)
--配置不完整,出现错误!
我试图用一些其他目录替换
NUMPY\u INCLUDE\u DIRS
,但没有任何效果。我应该向
CMakelists.txt
写些什么来告诉cmake在哪里可以找到NumPy模块并导入它

提前谢谢


其他可能需要的文件,以找出问题所在:

  • 当然可以

  • 终于成功了!但我不知道为什么…:(

    我所做的:

    1.  I reinstalled numpy to /usr/lib/python3.5/site-packages (previously, I installed it to ~/anaconda3/lib/python3.4/site-packages)
    1.1 I also added ~/anaconda3/lib/python3.4/site-packages/numpy/include to $PYTHONPATH and $PATH
    2.  I ran these commands in Python:
       >>>import numpy 
       And I found it returns no error!
    3.  I removed previously compiled files in directory build, and rebuilt. Finally it worked
    

    希望这些对其他人有帮助。

    逗号(
    )在
    set()中不需要
    command。另外,与其修改3d party CMake脚本,不如在
    CMake
    call:
    CMake-DPYTHON_LIBRARY=-DNUMPY_INCLUDE_DIRS=
    @Tsyvarev谢谢,但在我这样运行它之后它就不起作用了:
    sudo CMake-DPYTHON_LIBRARY=$HOME/anaconda3/libpython3.5m.so-DNUMPY_INCLUDE_DIRS=$HOME/anaconda3/lib/python3.5/site-packages/numpy/core/INCLUDE/numpy../
    。我应该写什么?变量
    numpy_INCLUDE_DIRS
    设置搜索头文件的目录(在C/C++源代码中)。它不会影响python模块的搜索。您需要设置环境变量以使事情正常工作。
    1.  I reinstalled numpy to /usr/lib/python3.5/site-packages (previously, I installed it to ~/anaconda3/lib/python3.4/site-packages)
    1.1 I also added ~/anaconda3/lib/python3.4/site-packages/numpy/include to $PYTHONPATH and $PATH
    2.  I ran these commands in Python:
       >>>import numpy 
       And I found it returns no error!
    3.  I removed previously compiled files in directory build, and rebuilt. Finally it worked