A %run
mágica possui um parâmetro file_finder
usado para obter o caminho completo para a execução do arquivo (veja aqui ); como você observa, ele apenas aparece no diretório atual, acrescentando ".py", se necessário.
Não parece ser uma maneira de especificar qual arquivo localizador para uso a partir da %run
magia, mas não há nada para impedi-lo de definir o seu próprio comando mágico que chamadas para %run
com um localizador de arquivo apropriado.
Como um hack muito desagradável, você pode substituir o padrão file_finder
pelo seu:
IPython.core.magics.execution.ExecutionMagics.run.im_func.func_defaults[2] = my_file_finder
Para ser sincero, na taxa em que a API do IPython está mudando, é provável que continue a funcionar como define sua própria mágica.
import <module>
é essencialmente o mesmo queexec(<moduleSource>)
em JavaScript ou Perl.