setuptoolsのinstall_requiresを使うべきです。 requirements.txtとinstall_requiresでは現時点では目的が異なっています。setup.pyに指定したinstall_requiresはパッケージ化の際にメタデータとしてパッケージに同梱されます。 requirements.txtを同梱してもそのような動作にはなりません。そのため、利用者がpip install hogehogeとしてそのパッケージをインストールしたときに正しく依存パッケージをインストールできるのは install_requiresを設定した場合です。また、メタデータはPythonのPEP345やPEP426でフォーマットと項目が規定されている標準仕様です。 requirements.txtはRequirementsフォーマットと呼ばれる形式でインストールするパッケージを列挙し
![requirements.txt と setuptools の install_requires は、どちらを使うべきですか](https://cdn-ak-scissors.b.st-hatena.com/image/square/f6bc393cd0b6bd2196935e603c5d031bd6ca6699/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fja%2FImg%2Fapple-touch-icon%402.png%3Fv%3D1cfb10b305ca)