これは、"setup.py" を使用してインストール パッケージをビルドした開発者にとって非常に一般的な質問であり、以前に尋ねられるべきものでしたが、どこにも適切な答えが見つかりませんでした。
setup.py で
from distutils.core import setup
setup(
....,
....,
data_files=[('MyApp/CBV', ['myapp/data/CBV/training.cbv', 'myapp/data/CBV/test.cbv'])],
....,
....,
)
sudo python setup.py install の結果
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/local/bin/MyApp_trainer to 755
changing mode of /usr/local/bin/MyApp_reference_updater to 755
changing mode of /usr/local/bin/MyApp_predictor to 755
changing mode of /usr/local/bin/reference_updater to 755
running install_data
creating /usr/local/MyApp/CBV
copying MyApp/data/CBV/training.cbv -> /usr/local/MyApp/CBV
copying MyApp/data/CBV/test.cbv -> /usr/local/MyApp/CBV
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/MyApp-0.1.0.egg-info
Writing /usr/local/lib/python2.7/dist-packages/MyApp-0.1.0.egg-info
上記の結果を使用した観察から、「/usr/local」は「data_files」ルート ディレクトリです。ハードコーディング以外に、この「data_files」ルート ディレクトリを提供できる Python 関数はありますか?