Matplotlib-cpp : ImportError: No module named site

Posted

技术标签:

【中文标题】Matplotlib-cpp : ImportError: No module named site【英文标题】: 【发布时间】:2019-07-01 07:42:57 【问题描述】:

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

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

我将 Anaconda2 文件夹的路径添加到系统和用户环境变量中。 (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)

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

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

我确切地说我在 Anaconda Python 的提示符下尝试了 matplotlib,它正在工作。

知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

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

set PYTHONHOME=C:\Python27

【讨论】:

在我的情况下是:C:/Anaconda2/ 但这解决了谢谢

以上是关于Matplotlib-cpp : ImportError: No module named site的主要内容,如果未能解决你的问题,请参考以下文章

gerrit importer 使用方法

ruby max_value_importer.rb

ruby max_value_importer.rb

Magmi 属性集 Importer 不设置产品属性

如何让 Sass Importer 将文件合并到一个样式表中? [复制]

Unity插件之——Voxel Importer