O script Python não está em execução após a configuração da permissão executável

1

estou tendo um script python

#!/usr/bin/env python

no topo do meu script? Segue-se a permissão que eu tinha definido

-rwxr-xr-x 1 user1 user2 6423 Nov 15 15:12 test

Eu tentei executar o script como user1 ./test , o que me deu permissão negada?

quando eu faço

whoami mostra user1 e umask é 0022, user1 tem bash como seu shell padrão

$python test (funciona bem)

Alguma ideia?

    
por LINUX4U 15.11.2012 / 10:53

3 respostas

1

Eu me lembro de um problema como esse porque eu tinha um test.pyc no mesmo diretório, e o interpretador estava usando em vez do original interpretado (test.py). Talvez seja uma pista para você.

    
por martin-mystere 15.11.2012 / 12:45
0

Quando você menciona #!/usr/bin/env python na primeira linha, ele procura por python em $PATH .

Digite which python e verifique se o caminho da saída é adicionado a $PATH . Se não adicionar,

  • export PATH="$PATH:/usr/local/bin/python"

Para mais informações sobre como configurar a variável PATH, consulte esta página

    
por devav2 15.11.2012 / 11:47
0

Eu nunca nunca use nomes como test como meu scriptname. Da mesma forma, para nomes simples como time , date , parser , etc, a menos que em um pacote com importações absolutas, e mesmo assim é uma prática ruim. É muito provável que esses nomes interfiram nos módulos instalados ou em outros scripts / pacotes em seu diretório de trabalho e / ou caminho.

Conclusão: verifique se você não tem uma pasta chamada test no mesmo diretório.

    
por Timo 15.11.2012 / 13:06