setuptoolsのinstall_requiresを使うべきです。 requirements.txtとinstall_requiresでは現時点では目的が異なっています。setup.pyに指定したinstall_requiresはパッケージ化の際にメタデータとしてパッケージに同梱されます。 requirements.txtを同梱してもそのような動作にはなりません。そのため、利用者がpip install hogehogeとしてそのパッケージをインストールしたときに正しく依存パッケージをインストールできるのは install_requiresを設定した場合です。また、メタデータはPythonのPEP345やPEP426でフォーマットと項目が規定されている標準仕様です。 requirements.txtはRequirementsフォーマットと呼ばれる形式でインストールするパッケージを列挙し