Eu assumo que o script é executável? Além disso, verifique se há retornos de carro - talvez as janelas tenham suas mãos sujas nele? Você pode verificar isso com 'cat -vE test.py' e procurar por '\ r'.
Estou tentando executar scripts Python com um shebang no Ubuntu. Quando eu crio um script python
#! /usr/bin/env python
import sys
... e executá-lo recebo um erro de shell:
root@host:/home/user# ./test.py
: No such file or directory
Como posso fazer isso funcionar?
Solução : remova '\ r's de finais de linha com dos2unix.
Você provavelmente tem finais de linha do Windows no seu arquivo. Por favor, tente executar o dos2unix nele.
Tente remover o espaço entre #! e / usr / bin / env, embora eu não entenda porque isso funcionaria quando não importando pacotes ...
Tem certeza que o erro está acontecendo pelo motivo que você pensa? Ou você está (mais tarde no script) tentando abrir um arquivo? Comece com o caso mais simples para fazer as coisas funcionarem ...
hello.py:
#!/usr/bin/env python
print "Hello, world"
então ...
$ chmod +x hello.py
$ ./hello.py
Hello, world
$
Use os liners abaixo para remover os novos caracteres de linha.
perl -e 's/\r//g' -w -p -i test.py
ou
sed -e "s/^M//" test.py > test_new.py