オープンソースプロジェクト1では、Python/CythonとC/C++モジュールがPython C APIを使用して1つのC++ライブラリと混在しています。 APIは、いくつかの関数の名前を2から3に変更しました。ライブラリがそれらの関数なしで記述されていると仮定します。 Python2でコンパイルするとPython3にリンクされますか?これはAPIヘッダーのマクロによって防止されていますか?バイナリ両方のPython C APIバージョン2と3を使用
両方にリンクする可能性のあるライブラリバイナリを持つと、大きな梱包の手間が省けます。
かなり基本的な機能の名前が変更されました(たとえば、モジュールの初期化と思います)。 – DavidW
APIは比較的安定していますが、A * B * Iはそうではありません。したがって、Pythonのバージョンごとに再コンパイルする必要があります。編集:@DavidWのコメントを参照してくださいAntti Haapalaの答えは、これの詳細については下記の答えです。 – Toby