私は既存のpip-installableプロジェクトに機能を追加しています。プロジェクトオーナーはsetup.pyのインストール要件にpandas
を追加するのが「非常に重い」と感じています。私が追加している機能はpandas
を必要としません(機能はpandas.DataFrame
オブジェクトの上にあるためです)。私が書き込んだ単体テストでは、pandas
からsetUp
に変更するテストDataFrameを呼び出す必要があります。パッケージはテスト用にのみ必要であり、インストール用には必要ないものはありますか?
ユニットテストにのみpandas
を必要とする方法はありますか?または、それを要件に追加していないだけで、単体テストの実行時に手動でpandas
をインストールするとエラーが発生しますか?
私は 'tests_require'はこれがより良いアプローチだと思います。これは、プロダクションでは決して利用できないオプション機能を作成するからです。 – languitar
以前は 'tests_require'を使用していましたが、依存関係をインストールする方法が嫌いなので、離れた場所に移動しました。誰もがテストスイートを実行する方法として 'python setup.py test'を使用することを望んでいません。 – wim
この方法でも、オプション機能の使用方法に関する知識が必要であり、パッケージのインストール時にその機能をアドバタイズします。これには正当な理由があるかもしれませんが、一般的には、このような「ハック」に訴える前に、意図したメカニズムを使用することをお勧めします。また、 'tests_require'は将来修正される可能性があります。 – languitar