初めに
Pythonのパッケージ形式の一つとして、wheelがあります。
Python3系だけでなくPython2系もサポートしてC拡張を含んでいないプロジェクトをwheel化したものを、universal wheelといいます。
遭遇した問題
universal wheelについて、PyPIのドキュメントにsetup.cfgでオプションを指定してuniversal wheelを作成する方法があるものの、コマンドライン引数でオプションを指定する方法が明記されていませんでした。
ここで少しハマりましたが冷静に考えてオプションを指定すればいいだけなので、下記を実行することでPATH/TO/PRJ_ROOT/dist/下にuniversal wheelをpackage-x.y.z-py2.py3-none-any.whlのファイル名で作成することができました。
PATH/TO/PRJ_ROOT>python setup.py bdist_wheel --universal
また、下記を実行すれば、.zip(.tar.gzではなく)も同時にPATH/TO/PRJ_ROOT/dist/直下に作成することができます。
PATH/TO/PRJ_ROOT>python setup.py sdist --formats=zip bdist_wheel --universal
あとがき
もうPython2系なんてほとんどのパッケージでサポートされていないので、これが役に立つ期間もあと少しで終わるでしょう。