Execute scripts Python no PowerShell diretamente

16

Estou usando o Windows PowerShell. Digamos que eu tenha um script chamado test.py , que imprime algumas coisas. Se eu fizer:

PS D:\>.\test.py

, abre uma janela do CMD que imprime algumas coisas e depois fecha. Na verdade, ele está executando o interpretador Python sob o CMD. Se eu fizer

PS D:\>python test.py

age como eu esperaria, com a saída aparecendo no PowerShell.

Como posso fazer isso para que o script seja executado no PowerShell quando eu simplesmente der seu nome?

    
por jcrawfordor 17.06.2012 / 00:14

2 respostas

17

Edite a variável de ambiente PATHEXT e adicione a extensão .py.

Basta adicionar esta linha ao seu perfil do powershell :

$env:PATHEXT += ";.py"

ou você poderia editar o PATHEXT globalmente usando as configurações do sistema (apenas inicie a pesquisa de menu para "Editar variáveis do ambiente para sua conta").

    
por 17.06.2012 / 07:34
-1

Você pode ter mais de uma versão do Python instalada e a versão que o IDLE está usando é mais recente. Para ver qual versão do python você tem, você pode digitar > python -V em uma linha de comando. Se essa versão parecer apropriada, você poderá precisar do caminho completo para o arquivo como o segundo parâmetro. E.g > python C: \ myfile.py.

Se você instalou o Python corretamente, sempre há uma chance de que apenas digitar o nome do script seja executado com python. Por exemplo. > myfile.py

Eu sempre acho que adicionar C: \ Python27 à variável% PATH% e .PY à variável% PATHEXT% facilita a execução de scripts. Nesse caso, apenas > myfile deve funcionar.

Editar após a atualização:

Digitar apenas > python sem parâmetros abre o python no 'modo interativo' que é diferente do modo em lote ou de script para o qual seu script é destinado. Se executado com argumentos, o primeiro argumento é considerado como o caminho do arquivo e outros argumentos são passados para o script na lista sys.argv.

    
por 17.06.2012 / 00:40