gpt4 book ai didi

python - 修复在嵌入式 python 应用程序中导入 sklearn 时出现的明显递归错误

转载 作者:行者123 更新时间:2023-11-30 16:13:58 25 4
gpt4 key购买 nike

我试图在带有嵌入式 python 的 C 应用程序中导入 sklearn,它陷入了某种递归循环。有没有人遇到过这个问题并找到解决方案?

我创建了下面非常简单的应用程序。当我执行它时,我收到“FutureWarning”,然后应用程序似乎再次启动。使用此导入行执行 python 脚本没有问题;从 Python REPL 执行它也不行。

int
main(int argc, char *argv[])
{
printf("%s\n",argv[0]);
wchar_t *program = Py_DecodeLocale(argv[0], NULL);
if (program == NULL) {
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
exit(1);
}
Py_SetProgramName(program); /* optional but recommended */
Py_Initialize();

PyObject *pName, *pModule;
pName = PyUnicode_DecodeFSDefault("sklearn");

pModule = PyImport_Import(pName);

Py_Finalize();
PyMem_RawFree(program);
return 0;
}

我一遍又一遍地重复以下输出,直到退出:

./a/home/wisp/anaconda3/envs/mpl-test/lib/python3.5/site-packages/sklearn/utils/fixes.py:313:FutureWarning:numpy not_equal 将来不会检查对象身份。比较未返回与标识 (is) 所建议的结果相同的结果,并将发生变化。 _nan_object_mask = _nan_object_array != _nan_object_array/home/wisp/test-py/a/home/wisp/anaconda3/envs/mpl-test/lib/python3.5/site-packages/sklearn/utils/fixes.py:313:FutureWarning:numpy not_equal 将来不会检查对象身份。比较未返回与标识 (is) 所建议的结果相同的结果,并将发生变化。 _nan_object_mask = _nan_object_array != _nan_object_array/home/wisp/test-py/a/home/wisp/anaconda3/envs/mpl-test/lib/python3.5/site-packages/sklearn/utils/fixes.py:313:FutureWarning:numpy not_equal 将来不会检查对象身份。比较未返回与标识 (is) 所建议的结果相同的结果,并将发生变化。 _nan_object_mask = _nan_object_array != _nan_object_array......

根据我对脚本和 REPL 的观察,该警告是预期的;连续输出则不然。

最佳答案

仔细查看正在生成的进程后,问题似乎与此直接相关: Pyinstaller executable keeps opening 。设置 export JOBLIB_MULTIPROCESSING=1 可以解决此问题。

关于python - 修复在嵌入式 python 应用程序中导入 sklearn 时出现的明显递归错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com