Eu não tenho uma resposta para sua pergunta no sentido mais restrito. Eu tenho duas sugestões que podem alcançar o mesmo fim.
Sugestão 1: Symlink
Se as dependências de arquivo estiverem enraizadas em uma árvore comum (ou um pequeno número de árvores), você poderá criar um link simbólico para os arquivos apropriados. Então, digamos que você queira que /home/staff/root/analysis/test.txt resolva para /path/to/working/directory/test.txt, então você pode fazer isso:
$ sudo ln -fns /path/to/working/directory /home/staff/root/analysis
Isso requer privilégios de root. O efeito seria que todo o prefixo do caminho / home / staff / root / analysis resolveria para o diretório / path / to / working /. Isso se aplica aos arquivos imediatamente abaixo do prefixo, bem como a todos os subdiretórios.
Sugestão 2: Suportar opções de configuração para dependências de tempo de execução
Se os arquivos forem realmente necessários para o tempo de execução ou o teste, eles devem fazer parte do pacote. Descrever exatamente como fazer isso está além do escopo desta resposta, mas aqui estão alguns recursos, dos quais você já deve estar bem ciente:
- Programação especializada em Python link
- Use o SafeConfigParser para analisar arquivos conf / ini (por exemplo, data-dir = / home / staff / root / analysis)
- Use argparse para obter opções da linha de comando / override conf (por exemplo, --data-dir = ..)