Execute o script Python de qualquer lugar

0

Estou definindo uma função bash no meu .bash_profile para que eu possa executar um determinado script Python de qualquer diretório. Minha função é algo assim:

func()
{
     python -i ~/Scripts/script.py
}

Funciona perfeitamente no meu diretório pessoal, mas não consegue encontrar o diretório ./Scripts/script.py se for executado de qualquer outro lugar.

A mensagem de erro é:

/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'Projects/sym.py': [Errno 2] No such file or directory

O ~ inicialmente não deveria direcionar para o diretório inicial?

    
por orange_juice 24.08.2016 / 05:00

1 resposta

2

Da mensagem de erro:

/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'Projects/sym.py': [Errno 2] No such file or directory

você pode ver que seu ~/Scripts/script.py tenta fazer referência a outro arquivo usando um caminho relativo Projects/sym.py .

O mais provável é que você esteja chamando a função func quando seu diretório atual estiver definido como um que não contenha Projects/sym.py .

Se sua intenção é incluir um arquivo de ~/Projects/sym.py , é necessário usar um caminho absoluto no código Python ou alterar o diretório atual para ~ dentro do func antes de chamar python .

    
por 24.08.2016 / 06:08