私は、時間のかかる計算のための事前計算値のbsddbデータベースを含むPythonパッケージを作成しました。簡単にするために、私のセットアップスクリプトは、データベースにアクセスするコードと同じディレクトリにデータベースファイルをインストールします(Unix上では、/usr/lib/python2.5/site-packages/mypackage/のようなものです)。Pythonモジュールディストリビューションでのファイルの検索
私のコードがデータベースファイルにアクセスできるようにデータベースファイルの最終的な場所を保存するにはどうすればよいですか?今、私は、データベースにアクセスするモジュールで__file__
変数に基づいてハックを使用しています:
dbname = os.path.join(os.path.dirname(__file__), "database.dat")
それは動作しますが、それは...ハックようです。これを行うより良い方法はありますか?私は、セットアップスクリプトをdistutilsモジュールから最終的なインストール場所を取得し、データベースにアクセスするコードの横にインストールされる "dbconfig.py"ファイルに入れておきたいと思います。
Pythonでデータを配布することは常に苦痛です。私はあなたの質問に同意しますが、これ以上の解決策は見当たりません。 –