我已经对一大块代码进行了cython化,我知道这些代码可以在我常用的机器上运行。
但是,当我将其转移并在另一台机器上运行时,它无法正常工作。我的机器正在运行Ubuntu,另一台机器在Docker中运行Ubuntu。
错误是:
from myFile import myFunction
ImportError: /myFile.so: undefined symbol: PyFPE_jbuf
Docker环境的设置与我本地计算机上的依赖项完全相同,所以我无法理解为什么会发生这种情况!
答案 0 :(得分:1)
这个错误是由几个科学Python项目https://github.com/scikit-learn/scikit-learn/issues/7542 https://github.com/automl/auto-sklearn/issues/101引用的,显然与NumPy,Cython或不同C ++编译器的多个安装有关。
现在,您应该确保双方的环境都是干净的:~/.local
中没有包,没有PYTHONPATH
环境变量的设置,只有系统Python和系统编译器。然后,还提供完整的回溯而不是一个错误。