我们来看看我的项目。
我正在使用Visual Studio 2008,Python 2.7和numpy 1.8.1(但我已经尝试了几个版本,但没有一个工作)。我的项目正在调试模式下编译。
这是一个非常简单的代码:
/* = Main.cpp file = */
#include "stdafx.h"
#include "Python.h"
int _tmain(int argc, _TCHAR* argv[])
{
PyObject *pName, *main;
Py_Initialize();
pName = PyUnicode_FromString("main");
main = PyImport_Import(pName);
Py_XDECREF(pName);
if (main != NULL)
{
printf("Python Module Loaded!!\n");
}
else
{
printf("Unable to load Python Module!!\n");
}
return 0;
}
和
""" = Main.py file = """
print 'Hello World!'
如果我执行此代码,我会得到:
正如预期的那样。
一旦我将main.py更改为:
,就会出现问题""" = Main.py file = """
import numpy
print 'Hello World!'
然后我得到了:
我试图在python解释器上单独运行main.py(不将其嵌入到C ++中)然后一切正常:
我还尝试了对main.cpp的修改,如下所示:
#include "stdafx.h"
#include "Python.h"
int _tmain(int argc, _TCHAR* argv[])
{
PyObject *pName, *main;
Py_Initialize();
PyRun_SimpleString("import numpy");
return 0;
}
从此代码输出:
最后我还尝试在发布模式下编译main.cpp代码的原始版本,然后输出为:
所以,我的问题是:我可以做些什么来使用Visual Studio 2008上的嵌入式解释器在调试编译下使numpy工作?
答案 0 :(得分:0)
你知道你必须使用内置的python调试版本吗?那可能是你的问题。 (我会发表评论但没有代表):))