在调用外部Python文件的MSVC项目中,出现此错误:
Traceback (most recent call last):
File "C:/PyTmp\P1.py",line 1,in <module>
import pycurl
ImportError: DLL load failed while importing pycurl: The specified module could not be found.
仅在调试模式下存在错误 在发布版本中编译项目并执行它,没有发现错误
其他Python包(例如pyodbc,...)也是如此
我在网站包装中找到了相关文件:pycurl.cp38-win32.pyd
,并将其复制到其他文件中:
pycurl_d.pyd,pycurl.cp38-win32_d.pyd,pycurl_d.cp38-win32.pyd
但是我总是有相同的错误
该文件可直接从Python正确执行,而不是在调试模式下从MSVC代码正确执行
Python代码P1.py
import pycurl
def my_function(x,y):
return y * x
print(my_function(3,4))
C ++代码
PyObject* pName1,* pModule1,* pDict1,* pFunc1;
Py_Initialize();
PyObject* sys = PyImport_ImportModule("sys");
PyObject* sys_path = PyObject_GetattrString(sys,"path");
PyObject* folder_path = PyUnicode_FromString("C:/PyTmp");
PyList_Append(sys_path,folder_path);
pModule1 = PyImport_ImportModule("P1");
if (pModule1 == nullptr) {
PyErr_Print();
}