为了账号安全,请及时绑定邮箱和手机立即绑定

只要导入lxml模块,PyImport_ImportModule就失败返回NULL,这是为什么?

只要导入lxml模块,PyImport_ImportModule就失败返回NULL,这是为什么?

慕标5832272 2019-02-25 21:48:08
我在python源文件中写了一个测试函数,想在c++中调用,但是在调用的过程中遇到了一个问题:只要我导入了lxml模块,PyImport_ImportModule函数失败返回NULL,去掉lxml相关就可以正常调用返回。python代码如下Test.py import os import sys import requests from lxml import html #只要加这个就错误,换成import lxml也一样 def foo(): host = "http://www.baidu.com" s = requests.session() res = s.get(host) return res c++代码如下 Py_Initialize(); PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.path.append('./')"); PyObject* pModule = PyImport_ImportModule("Test"); if (pModule == NULL || PyErr_Occurred()) { PyErr_Print(); } PyObject* pDict = PyModule_GetDict(pModule); PyObject *pFunHi = PyDict_GetItemString(pDict, "foo"); PyObject *ret = PyObject_CallFunction(pFunHi,NULL); Py_DECREF(pFunHi); Py_Finalize(); 错误消息: Traceback (most recent call last): File "C:\Users\Administrator\Desktop\test\Test\Debug\Test.py", line 4, in <module> from lxml import html File "E:\python27\lib\site-packages\lxml\html\__init__.py", line 54, in <module> from .. import etree ImportError: DLL load failed: Unable to find the specified module。 请问怎么正确用lxml模块?
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

是库的原因,另外下了一个库就好了

查看完整回答
反对 回复 2019-03-04
  • 1 回答
  • 0 关注
  • 1711 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信