小编kdh*_*pak的帖子

扩展中的致命错误:PyThreadState_Get:没有当前线程

我已经看过几个帖子说明了同样的错误,但在这些帖子中查找并尝试答案并没有帮助.我想知道是否有人可以看看这个并看看是否有东西弹出来了?

我正在为CPP应用程序构建Python扩展,并且在编译和构建步骤期间没有错误.但是,当我导入模块时,我得到标题中提到的错误.其他stackoverflow答案声称这是因为在编译和使用不同的解释器时与一个库链接.据我所知,我使用相同的Python解释器.我现在要描述为什么我认为我在链接过程和解释器中使用相同的Python.

这是我用来构建Python扩展的命令

$ gcc -shared helicsPYTHON_wrap.c $(python-config3 --includes) -I/path/to/helics-0.9/includes -L/path/to/helics-0.9/lib -lhelicsSharedLib -L$(python3-config --prefix)/lib -lpython3.6m -o _helics.so

$ which python3-config
/Users/$USER/miniconda3/bin/python3-config

$ python3-config --prefix
/Users/$USER/miniconda3
Run Code Online (Sandbox Code Playgroud)

如果我尝试导入导入共享库的python文件,则会抛出致命错误.如果我otool -L在共享库上使用,我会得到以下内容.这是我期望得到的.

$ otool -L _helics.so
_helics.so:
        @rpath/libhelicsSharedLib.dylib (compatibility version 0.0.0, current version 0.0.0)
        @rpath/libpython3.6m.dylib (compatibility version 3.6.0, current version 3.6.0)
        /usr/local/opt/zeromq/lib/libzmq.5.dylib (compatibility version 7.0.0, current version 7.3.0)
        libboost_program_options.dylib (compatibility version 0.0.0, current version 0.0.0)
        libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0)
        libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
        libboost_date_time.dylib (compatibility version 0.0.0, …
Run Code Online (Sandbox Code Playgroud)

c++ python macos python-3.x anaconda

15
推荐指数
1
解决办法
1498
查看次数

当 C++ (LLVM) 可以时,为什么 Julia 不优化此代码?

使用 LLVM 6.0.0 版的 C++ 编译器时,以下代码

bool isEven(int n) {
    bool ret = true;
    for (int i = 0; i < n; i ++) {
        ret = !ret;
    }
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

发出 LLVM IR

define zeroext i1 @_Z6isEveni(i32) local_unnamed_addr #0 !dbg !7 {
  call void @llvm.dbg.value(metadata i32 %0, metadata !14, metadata !DIExpression()), !dbg !18
  call void @llvm.dbg.value(metadata i8 1, metadata !15, metadata !DIExpression()), !dbg !19
  call void @llvm.dbg.value(metadata i32 0, metadata !16, metadata !DIExpression()), !dbg !20
  %2 = icmp …
Run Code Online (Sandbox Code Playgroud)

julia llvm-ir

9
推荐指数
1
解决办法
314
查看次数

如何在MATLAB中使用jeromq

jeromq 是 libzmq 的 Java 实现。我有一个从 jeromq 源创建的 .jar 文件。但是,我无法从 MATLAB 调用 jeromq 中的类。我已经使用过 addjavaclasspathaddjavalibrarypath但仍然无法让它工作。有没有人在 MATLAB 中有一个简单的工作示例?

matlab jeromq

2
推荐指数
1
解决办法
2407
查看次数

标签 统计

anaconda ×1

c++ ×1

jeromq ×1

julia ×1

llvm-ir ×1

macos ×1

matlab ×1

python ×1

python-3.x ×1