2017-09-17 7 views
1

私は私が取り組んできたPythonモジュールを持っています。残念なことに、コンパイルされたCコードをバンドルする必要があります。私はそれをLinuxとOSXでTravisとWindowsでAppveyorで構築しています。PyPIで配布する際に、どのアーキテクチャとOSを対象にすべきですか?

対象となるアーキテクチャ、OS、Python APIのバージョンが推奨されているのでしょうか。 Python 2.6、2.7、3.0〜3.6のすべてでx86とx86_64を包括的にやろうとするべきだという私の思いは分かります。これはすでにかなりのディストリビューションになっている可能性がありますが、私は考えていないものがありますか?腕?

さらに広く、このビルドと配布を管理する適切なマトリックスを設定する一連のTravisとAppveyorファイルがありますか?

+0

https://pypi.python.org/pypi/cibuildwheelおよびhttps://github.com/matthew-brett/multibuildを参照してください。 – phd

答えて

2

2.6は古くから古くなってきましたが、古いRHELの貧弱なものもあります。 3.0と3.1は誰も生産していませんでした。 3.2,3.3は古いUnixサーバ上にあるだけで、私は多くの新しいソフトウェア開発があるとは思わない。いずれにしても、私は2.7 + 3.4+をターゲットにしていました。誰でも他の人がエクステンションを編集するのは気にならないでしょう。

Travis/Appveyorのことは、危険なほどリソース要求のように聞こえますが、これはスタックオーバーフローのトピックではありません。

しかし、私はPython Packaging AuthorityがDockerのためのmanylinux Linuxイメージを提供するというヒントを与えることができます。これらはCentos 5に基づいており、CPython 2.6,2.7,3.3,3.4,3.5、および3.6を持っています。彼らはmanylinux1タグで車輪を作るのに使われます。そして公式manylinux demo projectもあります。 ARMについて


- そこにあまりにも多くの変種がサポートする方法があります。例えば、Linuxはx86よりもはるかに多くのABIを持っています。例えば、ハード浮動小数点とソフト浮動小数点の区別があります。 32対64ビットなどがあります。ほとんどのARM開発者は、奇妙なアーキテクチャのためにモジュールをコンパイルすることができます。

関連する問題