A %runmágica possui um parâmetro file_finderusado 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 %runmagia, mas não há nada para impedi-lo de definir o seu próprio comando mágico que chamadas para %runcom um localizador de arquivo apropriado.
Como um hack muito desagradável, você pode substituir o padrão file_finderpelo 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.