4

この質問は、インストールしたいpythonパッケージがテンプレートとメディアファイルを含むdjangoアプリであることを前提としています。ただし、この質問は、ファイルだけでなく、すべてのPythonパッケージに当てはまり.pyます。

私はビルドアウトを使用して、djangoプロジェクトを開発している再構築可能な環境を作成しています。私buildout.cfgはそのように見えます:

[buildout]
parts = python
eggs =
  normal-python-package
  python-package-with-data-files
find-files = 
  http://domain-to-python-package-with-data-files

[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}

(そしていくつかのdjango関連のもの)。はpython-package-with-data-files、ページ上のリンクから入手できますhttp://domain-to-python-package-with-data-files

normal-python-packagepython-package-with-data-fileseggs/ディレクトリに正常にインストールされます。そのファイルでpython-package-with-data-filesに設定zip_safeされているため、で解凍して利用できます。Falsesetup.pyeggs/

の非.pyファイルのみpython-package-with-data-filesが解凍されたeggで利用できませんeggs/(それら.tar.gzで利用可能なパッケージに含まれていますhttp://domain-to-python-package-with-data-files)。

これらのデータファイルをeggに含めるにはどうすればよいですか?setup.pyパッケージのファイルを変更する必要がありますか?それともビルドアウトに関連していますか?

私が見つけたものは次のとおりです。

python setup.py sdistルートディレクトリにを作成python-package-with-data-filesすると、作成された.tar.gzファイルにすべてのデータファイルが含まれます。しかし、私がpython setup.py bdistそれを作成すると、データファイルを含めずにビルドされます。

これは、問題がビルドアウト固有ではないと私に思わせます。しかし、ビルドアウトに、卵を作成するのではbdistなくsdist、卵を作成してパッケージをプロジェクトにインストールするように指示する方法があるかもしれません。

何をすればよいでしょうか?私はのメンテナーですpython-package-with-data-filesので、必要に応じて変更することができますsetup.py

4

1 に答える 1

3

setup.pyファイルでpackage_dataキーワード引数を使用する必要があるようです。したがって、distutilsは、これらのファイルをパッケージと一緒にインストールする必要があることを認識しています。

于 2010-02-18T13:07:04.027 に答える