Como importar um módulo python local ao usar o comando sbatch no SLURM

Eu estava usando o gerenciador de clusterslurm e eu estava executando um script de envio com sbatch (com um interpretador python). O envio do sbatch importou um dos meus módulos chamadomain_nn.py. O módulo está localizado no mesmo local que o meu diretório de envio, no entanto, o python falha ao encontrá-lo, mesmo que o arquivo exista. Estou tendo dificuldade para descobrir por que isso está acontecendo. Meu arquivo python tem a seguinte aparência:

#!/us,r/bin/env python
#SBATCH --job-name=Python

print('hi')

import main_nn

no entanto, a saída do meu arquivo slurm dump é:

hi
Traceback (most recent call last):
    File "/home/slurm/slurmd/job3223398/slurm_script", line6, in <module>
        import main_nn
ImportError: No module named main_nn

Eu tentei verificar se o módulomain_nn estava no diretório atual e estava lá de fato. Portanto, a primeira coisa que me pareceu suspeita foi que o erro no arquivo slurm dizia que a localização do meu script estava em"/home/slurm/slurmd/job3223398/slurm_script" ao invés depath_to_project. Então fui em frente e adicionei a linha

os.system('pwd')

para ver de onde meu script estava sendo executado e para minha surpresa, ele estava sendo executado empath_to_project ao invés de"/home/slurm/slurmd/job3223398/slurm_script" o que deve significar que o sbatch está fazendo algo estranho para executar um script em um local, mas fazê-lo pensar que está em outro. Se for esse o caso, como devo fazer uma importação em python, onde o módulo está no mesmo local que no meu script de envio? Sou forçado a colocá-lo em um pacote e enganar o python para pensar que ele está em um pacote / biblioteca?

questionAnswers(1)

yourAnswerToTheQuestion