用Cython导入的.so文件导致ImportError:…未定义的符号

我有一大堆代码,我知道在我的平常机器上工作。

但是,当我转移它并在另一台机器上运行它不工作。 我的机器正在运行Ubuntu,另一台机器在Docker中运行Ubuntu。

错误是:

from myFile import myFunction ImportError: /myFile.so: undefined symbol: PyFPE_jbuf 

Docker环境的设置与本地机器上的完全相同,所以我不明白为什么会发生这种情况!

这个错误引用了几个科学Python项目https://github.com/scikit-learn/scikit-learn/issues/7542 https://github.com/automl/auto-sklearn/issues/101 ,显然与NumPy,Cython或不同的C ++编译器的多个安装。

现在,你应该确保环境是干净的:在~/.local没有包,没有设置PYTHONPATH环境variables,只有系统Python和系统编译器。 然后,也提供完整的回溯而不是一个错误。