ソースとコンパイル済みバイナリの両方を含める必要がある Python ディストリビューションを作成しようとしています。(はい、追加することに対する/追加するための引数を読みまし.pycたが、私の使用例では.pyc追加する必要があります)。Windows で手順を実行すると、ソース バイナリとコンパイル済みバイナリの両方が出力ファイルに追加されます (私は と の両方を使用sdistしましたbdist_wheel)。
次の構造があるとします。
root
+--folderA
+--alpha
+--beta
+--__init__.py
+--folderB
folderAfolderBサブディレクトリ内に他のファイルが含まれている間、ソースコードが含まれています。
完了した手順:
- モジュールは次を使用してコンパイルされます
compileall - のソース
alphaは削除されます。のソースbetaは保持されます。 - 走る
python setup.py sdist|bdist_wheel
find_packages()モジュールを検出するために setup.py で使用しました。内のモジュールは検出されますが、内のモジュールalphaは検出されませんbeta。
Windowsの結果.tgzと.whlファイルには、必要なすべてのファイルがあります。すべてが良いです。
ただし、Linux (具体的には Ubuntu) で同じ手順を実行すると、 のモジュールのみbetaが追加され、いくつかのモジュールが追加されfolderBますが、異なるタイプの他のファイルと module は追加されませんalpha。sdistソース while のみbdistをbdist_wheel提供し、.pycs のみを提供します。sdistこれはソース ファイルを配布するためのものでbdistあり、バイナリ ファイルを配布するためのものであると理解しています。
私の質問は、Windows で動作が異なるのはなぜですか? Linux で同じ出力を生成することは可能ですか (ソースおよび.pyc他のファイルと共に)?
Python 2.7 を使用しています。