私はPythonで一般的な機械学習データセットを読み込むために、ばかばかしく使いやすいpipパッケージを作りたいと思っています。 (はい、いくつかのものがすでに存在しているが、私はそれがさらに簡単になりたい)setuptoolsを使用して、インストール時に外部データをダウンロードするにはどうしたらいいですか?
私は何を達成したいことはこれです:
- ユーザーは
pip install dataset
- ピップが言う、データセットをダウンロードし実行します
wget http://mydata.com/data.tar.gz
を介して。データはPythonパッケージ自体には存在しませんが、他の場所からダウンロードされることに注意してください。 - pipは、このファイルからデータを抽出し、パッケージがインストールされているディレクトリに配置します(これは理想的ではありませんが、データセットはかなり小さいので、ここにデータを格納することは大きな問題ではないと仮定します) )
- その後、ユーザーが自分のモジュールをインポートすると、モジュールは自動的に特定の場所からデータを読み込みます。
この質問は、箇条書き2と3についてです。setuptoolsでこれを行う方法はありますか?
インポート時の副作用は悪です。これを明示的に行う関数を提供する方がよいでしょう。たとえば、ユーザーがインターネットを使用していない場合や、あなたが期待していたデータセットではなく、「このページがブロックされています」HTMLファイルを与える悪質なMitMプロキシの背後にある場合はどうなりますか? – Kevin