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的主要内容,如果未能解决你的问题,请参考以下文章