Executando um script Python a partir do prompt “Executar”

1

Eu pensei que isso seria fácil, mas eu tenho lutado por um tempo.

Eu tenho um script Python na minha máquina Windows chamado "myscript.py". Eu tenho em uma pasta que está no meu PATH, e eu adicionei a extensão ".py" para a variável de ambiente PATHEXT, para que eu possa executar o meu script em um prompt de comando apenas fazendo "myscript" (em vez de digitar "myscript" .py "). Isso está funcionando bem.

No entanto, não consigo obter o mesmo comportamento ao iniciar meu script a partir do prompt "Executar" (Windows-R). Se eu digitar "myscript.py" funciona bem, mas apenas "myscript" não aparece - recebo a mensagem de erro Windows cannot find 'myscript'... .

Eu teria assumido que o prompt "Executar" simplesmente não reconhece a variável PATHEXT, mas outros tipos de programas parecem funcionar - eu posso executar .bat (scripts de lote do Windows) e .exe (executáveis do Windows) a partir do Executar prompt sem qualquer extensão necessária.

Por que a execução do meu script Python sem uma extensão não funciona no prompt Executar?

    
por Isaac Dontje Lindell 29.06.2015 / 20:26

2 respostas

2

Realmente não responde à minha pergunta sobre o motivo, mas eu encontrei uma solução satisfatória: criei um atalho (clique com o botão direito em uma área em branco em uma janela do Windows Explorer - > Novo - > Atalho) e defina o destino do atalho para ser meu script. Quando esse atalho estiver em uma pasta no meu caminho, posso chamar meu script apenas com o nome do atalho (sem nenhuma extensão). Isso permite que os parâmetros da linha de comando sejam passados para o script Python sem modificação adicional.

Outra alternativa foi fornecida por Anaksunaman - crie um wrapper de script .bat / batch ao redor do script. Isso funciona bem, a menos que seu script Python precise de parâmetros. Nesse caso, será necessário mais esforço para transmitir os parâmetros.

    
por 30.06.2015 / 13:53
1

Não é uma resposta, e você provavelmente já pensou nisso como uma solução, então isso é realmente para os outros, mas usar um arquivo .bat de uma linha para chamar o script python funciona bem. E você pode, é claro, nomear o arquivo bat "myscript.bat" e ele funcionará sem a extensão .bat.

    
por 30.06.2015 / 03:59