pluszerodadada 2022-09-04 17:04 采纳率: 37.5%
浏览 20
已结题

c++调用python时出现错误

c++调用python时出现了以下错误:
Exception ignored in: <module 'threading' from '/usr/lib64/python3.6/threading.py'>
Traceback (most recent call last):
File "/usr/lib64/python3.6/threading.py", line 1289, in _shutdown
assert tlock.locked()

问题相关代码,请勿粘贴截图

以下是我的c++代码

void train()
{
         Py_Initialize();

        // 执行python脚本命令
        //PyRun_SimpleString("print('hello world')\n");
        PyRun_SimpleString("import sys");
        PyRun_SimpleString("sys.path.append('/usr/local/python3/lib/python3.6/site-packages')");
        PyRun_SimpleString("sys.path.append('/root/new_platform/cpp_DL/')"   
        PyObject* pModule = PyImport_ImportModule("cpython1");
        if(pModule == NULL){
            PyErr_Print();
            cout << "module not found" << endl;
        }
        PyObject* pFunc = PyObject_GetAttrString(pModule, "hello");
        if(!pFunc || !PyCallable_Check(pFunc)){
            cout << "function not found" << endl;
        }
        PyEval_CallObject(pFunc, nullptr);
        PyGILState_Release(state);
        Py_Finalize();
}

调用的python代码cpython

import argparse
def hello():
   print("parser")    
   parser = argparse.ArgumentParser(description='###train###')
   print("parser")


运行结果及报错内容

报错:
Exception ignored in: <module 'threading' from '/usr/lib64/python3.6/threading.py'>
Traceback (most recent call last):
File "/usr/lib64/python3.6/threading.py", line 1289, in _shutdown
assert tlock.locked()
希望有人能给予我解决方法

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-04 19:01
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 系统已结题 12月3日
    • 已采纳回答 11月25日
    • 创建了问题 9月4日

    悬赏问题

    • ¥15 matlab中此类型的变量不支持使用点进行索引
    • ¥15 咨询第六届工业互联网数据创新大赛原始数据
    • ¥15 Pycharm无法自动补全,识别第三方库函数接收的参数!
    • ¥15 STM32U575 pwm和DMA输出的波形少一段
    • ¥30 android百度地图SDK海量点显示标题
    • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
    • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
    • ¥15 C语言判断有向图是否存在环路
    • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
    • ¥20 将resnet50中的卷积替换微ODConv动态卷积