Я не маю відповіді на ваше питання у вузькому сенсі. У мене є дві пропозиції, які можуть досягти того самого кінця.
Пропозиція 1: Символьна лінія
Якщо залежність файлу кореняється в загальному дереві (або невеликій кількості дерев), ви зможете створити символічну посилання на відповідні файли. Отже, скажімо, ви хочете /home/staff/root/analysis/test.txt вирішити в /path/to/working/directory/test.txt, тоді ви можете зробити це:
$ sudo ln -fns /path/to/working/directory /home/staff/root/analysis
Це вимагає привілеїв root. Ефектом буде те, що весь префікс шляху
/ home / staff / root / аналіз дозволить / path / to / working / каталог. Це стосується файлів безпосередньо під префіксом, а також всіх підкаталогів.
Пропозиція 2: Підтримуйте параметри конфігурації для залежностей виконання
Якщо файли дійсно потрібні для виконання або тестування, вони повинні бути частиною пакета. Описуючи, як саме це зробити, виходить за рамки цієї відповіді, але ось деякі ресурси, які ви, можливо, вже добре знаєте:
- Програмування Python http://goo.gl/YoDx6
- Використовуйте SafeConfigParser для розбору файлів conf / ini (наприклад, data-dir = / home / staff / root / analysis)
- Використовуйте argparse, щоб отримати параметри з командного рядка / override conf (наприклад, --data-dir = ..)