8

PyPyには、特にCPython C APIに関して、いくつかの互換性の制限があります。

プリコンパイルされたSWIGバインディングに付属するQuickFixパッケージを使用しており、PyPyでの使用を検討しています。私はCAPIとSWIGに精通していないので、私の質問は次のとおりです。

  • PyPyのCAPI互換性の制限は、SWIGでの動作を妨げますか?理由を説明していただけますか?
  • 特にPyPyで動作するには、SWIGバインディングを再コンパイルする必要がありますか?それは可能ですか?どのように?
4

2 に答える 2

8

PyPyのCAPI互換性レイヤーはSWIGでは機能しません。主な理由は、SWIGが内部APIを使用し、APisを使用せずにC構造体を突くためです。SWIGは修正できると思いますが、今のところ修正されていません。

動作した場合は再コンパイルする必要がありますが、とにかく動作しません。

于 2011-07-19T23:03:34.687 に答える
0

ちょうどこれに出くわしました。最近では、SWIG4.0.2とPyPy7.3.7以降がうまく連携するはずです。試してみる価値があります。

于 2021-11-12T07:53:46.820 に答える