環境によってCythonでうまくコード変換ができない場合の対処
なぜかWindowsやUbuntuでは素直に変換しビルドが成功するのに、CentOSではうまくpyxをC/CPPに変換できない問題が発生しました。
この原因がどのようなものなのか色々と調べてみたのですが、検索の仕方がまずかったのか謎のままでいました。
きっとCython.Distutils.build_extが悪さしてるんだろうなという検討はついていたので、
それを標準のdistutils.command.build_ext.build_extに変更し、
さらにCython.Compiler.Main.compileを使用して"*.pyx"をC/CPPに変換させるような処理に変更しました。
C/CPPに強制変換させているので、sourcesにはpyxではなく、変換したC/CPPファイルを追加するようにも変更してください。
この変更によって、たぶんCentOSのようにうまく変換できない環境でも対応できるかと思います。
変更した際のdiffはこちら
備忘録♪備忘録♪