我正在开发一个在Windows上嵌入python解释器的Qt应用程序。我正在使用MSVC 2015作为构建工具和Python 3.6.4。当我在Windows上安装Python时,我也安装了调试版本。之后我使用pip命令安装了numpy。
作为测试我正在尝试执行简单的python函数(下面报告),当我使用发布版本时一切正常。
def testfunction():
import sys
print(sys.path)
import numpy as np #problematic row in debug
y = np.float([1.1, 2.3, 3.1]) #problematic row in debug
print(y)
return
相反,当我在调试模式下构建C ++应用程序时,程序无法执行脚本。我认为问题是由numpy产生的。如果我删除导入numpy和数组的创建,它执行没有任何问题。有没有办法用MSVC与调试符号构建numpy?
非常感谢你的帮助。
我知道这个问题有些陈旧,但它可能对其他人有帮助。我刚刚遇到了同样的问题。
您必须在调试模式下从源构建numpy。从Github repo上的最新版本下载numpy源代码,解压缩并运行:
python_d.exe setup.py build --debug install
通过这种方式,您将获得调试版本的numpy可用于您的调试版本的python,导入将起作用。请注意,python的发布版本现在将无法导入numpy。我无法让numpy的调试和发布版本同时工作。