1

bdist_rpm を使用して setup.py ファイルから RPM を作成するときに、すべての tests ディレクトリと tests.py ファイルを削除しようとしています。find_packages() から除外しようとしましたが、テスト パッケージのみが削除され、問題の半分に過ぎません。すべての tests.py ファイルは、tests ディレクトリを持たないパッケージに残ります。tests ディレクトリと tests.py ファイルの両方を削除するにはどうすればよいですか? ここに私のsetup.pyがあります

from setuptools import setup, find_packages                                                      

setup(name='mydjangoui',
      version='1.0',
      description='A django application',
      package_dir={'':'mydjangoui'},
      packages=find_packages('mydjangoui', 
          exclude=['tests.*', '*.tests.*', '*.tests', 'tests']),
)

次のコマンドで rpm をビルドしています。

python setup.py bdist_rpm

marketingtests.py、tests.pyo、tests.pyc、およびいくつかの有効な models.py および views.py ファイルを含むアプリ ( ) があります。RPM を作成する前に、このアプリから tests.py[o|c] ファイルを削除したいと考えています。

からの出力find_packages(exclude=['*tests*'])

>>> find_packages(exclude=['*tests*'])
['motd', 'assessment', 'account', 'platform', 'custom', 'catalog', 'utils', 'asset', 'editors', 'scheduler', 'base', 'marketing', 'results']
4

1 に答える 1

1

問題を解決する最終更新:

find_packages()という名前のモジュールまたはサブモジュールを無視するには、次の呼び出しを使用しますtests

setup(name='mydjangoapp',
  version='1.0',
  description='A django app',
  package_dir={'':'mock'},
  packages=find_packages('mock', exclude=['tests', '*.tests']),
)

tests.pyただし、結果の RPM にはまだ名前が付けられたファイルが含まれている可能性があります。

これらを消去するにはMANIFEST.in、プロジェクト フォルダー内に という名前のファイルを作成し、次の行を追加して、フォルダー内のdistutils名前のファイルを無視するように指示しtests.pyます。

recursive-exclude * tests.py

これには、たとえば、marketing/tests.pyもう含まれません。

以前に定義したファイルが存在しないという警告が表示された場合は、RPM パッケージを再作成する前に、生成されたファイルをクリーンアップします。

python setup.py clean --all

それが役立つことを願っています。

于 2012-04-16T20:43:15.280 に答える