Isso não tem nada a ver com o nome do diretório contendo espaços. Quando você executa python3 prog.py
ou file prog.py
, está especificando um caminho relativo e a semântica padrão do Unix significa que ele será aberto a partir do diretório de trabalho atual. Não há uma maneira sensata de mudar isso.
No entanto, se você tornar o script executável ( chmod +x /path/to/prog.py
) e garantir que ele tenha uma linha #!
correta no topo (provavelmente #! /usr/bin/python3
), então você poderá executá-lo de qualquer lugar dizendo apenas prog.py
(não python3 prog.py
).
Aliás, normalmente é uma boa ideia que programas em $PATH
não contenham uma extensão que especifique sua implementação, já que isso é realmente uma violação de camadas; Eu recomendaria chamá-lo apenas de prog
(substitua conforme apropriado) em vez de prog.py
.