4

私は、かなり大きな(それぞれ> 20Mb)データファイルに依存する新しいPythonパッケージに取り組んでいます。具体的には、ライブラリは、data/実行時にデータファイルがディレクトリにあることを想定しています。

現在、配布パッケージの一部として「data」ディレクトリにそれらを持っており、setup.pyスクリプトを使用して、これらのファイルをユーザーのシステムにインストールするように構成していますpython setup.py install。これは今のところ機能しますが、tarballが数百Mbを超える可能性があることを考えると、ディストリビューションをPyPIにアップロードできないようです。

別の方法として、PyPIに優しいようにリモートサイトでファイルを「ホスト」し、ファイルを自動的に取得してインストールしたいと思います。これは、既存のPython配布手法を使用して可能ですか?もしそうなら、これを行う方法を説明するか、例を提供していただけますか?それが不可能な場合、これを実現するためのベストプラクティスは何ですか?

あなたが提供できるどんな洞察も大歓迎です。

4

1 に答える 1

3

NLTKは、コーパスデータの配布において同様の状況にあります。私のLinuxディストリビューションでは、データは別のパッケージに含まれているため、Windowsにsetuptoolsを使用してインストールすることで調査を行いました。

コーパスを使用しようとして、それがない場合、nltkはダウンローダー関数(nltk.download())を実行するように要求します。内部的には、データを必要とするコーパスオブジェクトの代用としてLazyCorpusLoaderを使用し、必要に応じてデータをロードします。

sys.pathユーザーが好きな場所に配置できるように、事前にいくつかのパスを検索するように。nltk.data.pathデータの独自の場所を追加するように変更することもできます。

于 2012-03-14T17:00:02.567 に答える