Matplotlib-cpp:ImportError:没有名为站点的模块

时间:2019-07-01 07:42:57

标签: python c++ matplotlib cmake

我正在尝试将matplotlib-cpp用于Visual Studio使用CMake编译的C ++项目。

我使用的python发行版是Anaconda2(今天下载的最新2.7版本)。我删除了计算机上的所有其他python发行版。

我将Anaconda2文件夹的路径添加到系统AND用户环境变量。 (C:\ Anaconda2 ...)

与使用CMake配置项目时一样,CMake可以正确找到它,

Found PythonInterp: C:/Anaconda2/python.exe (found suitable version "2.7.16", minimum required is "2.7") 
Found PythonLibs: C:/Anaconda2/libs/python27.lib (found suitable version "2.7.16", minimum required is "2.7") 

该项目使用VS可以正确构建(没有构建或链接错误),但是当我运行快速的hello world时,出现错误:

Hello World!
ImportError: No module named site

这是main.cpp:

#include <iostream>
using namespace std;

#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;

int main(int argc, char **argv)
{
    cout << "Hello World!" << endl;

    plt::plot({ 1,3,2,4 });
    plt::show();

    return 0;
}

这是CMakeLists.txt:

cmake_minimum_required(VERSION 3.0)

project(PLT)

set (CMAKE_CXX_FLAGS            "${CMAKE_CXX_FLAGS} -std=c++14")

# main app
add_executable(
    plt
    src/main.cpp
)


# Matplotlib
find_package(PythonInterp   2.7     REQUIRED)
find_package(PythonLibs     2.7     REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
target_link_libraries(plt ${PYTHON_LIBRARIES})

我在这个论坛上读到这可能是由某些Path问题引起的,但是设置了python目录的路径:

enter image description here

我正在使用Microsoft Visual Studio 2017与CMake的“ Visual Studio 15 2017 Win64”生成器进行构建,并且通过“ cmd”运行程序,我认为问题在于配置“ cmd”使用的默认python。

我确定我是在Anaconda Python的提示符下尝试过matplotlib的,并且可以正常工作。

关于如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

通常在PYTHONHOME路径无效或未设置时发生 尝试:

set PYTHONHOME=C:\Python27