2012-01-04 8 views
2

"package_data"キーワード引数を使用してコンパイルされた拡張モジュールを含むPythonパッケージにインストーラ(distutilsを使用)を作成しようとしています。 python setup.py bdist_msiでこのパッケージを構築する拡張モジュールは、Pythonとのみ互換性があるにもかかわらず、(Foobar-1.0.win-amd64.msi命名)のPythonのいずれかのバージョンのインストールされますインストーラを生成し、しかしプリコンパイルされた拡張パッケージを使用したPythonバージョン依存インストーラの生成

from distutils.core import setup 
setup(name="Foobar", 
     ... 
     packages = ['Foobar'], 
     package_data = {'Foobar': '_foobar.pyd'}) 

:私のsetup.pyは次のようになりますそれがコンパイルされたバージョン。

は、これまでのdistutilsが拡張モジュールをコンパイルするために使用されたときに生成されたものと同様の互換性のPythonのバージョン、(Foobar-1.0.win-amd64-py2.7.msiという名前のインストーラを生成する)

を必要とするインストーラを作成するためのdistutilsを伝える方法はあります、私が思いついた最善の解決策は、追加の(ダミー)拡張パッケージを含めることですが、それは一種のクルージュのように見え、いくつかの追加の問題が生じます。

答えて

1

これは、--target-version引数を使用して行うことができます。

python setup.py bdist_msi --target-version=2.7 

Distutils documentationbdist_rpmコマンドを参照して、このオプションを言及し、それはまた、bdist_msiのために働きます。

関連する問題