Shebang em Python

Lakshay Kapoor 30 janeiro 2023
  1. Definição de shebang
  2. shebang em Python
Shebang em Python

Neste artigo, vamos falar sobre o que shebang significa em Python e como você pode usá-lo em um comando. Incluímos um programa de exemplo para ajudá-lo a entender melhor o conceito de Python shebang.

Definição de shebang

A seqüência de caracteres shebang é uma seqüência de caracteres especial em um arquivo de script denotada por #!. Ajuda a especificar o tipo de programa que deve ser chamado para executar todo o arquivo de script. A sequência de caracteres shebang é sempre usada na primeira linha de qualquer arquivo.

A declaração que menciona o caminho do programa é feita usando o caractere shebang primeiro e depois o caminho do programa interpretador.

shebang em Python

Para todos os scripts que devem ser executados em Python3, use o seguinte comando na linha de comando:

#!/usr/bin/env python3

Substitua python3 por python2 se o script for compatível apenas com a versão Python 2.7.

Se o script for compatível com Python 2 e Python 3, o seguinte comando também pode ser usado:

#!/usr/bin/env python

Este código também é compreensível no Windows Python Launcher.

O programa acima é preferido ao escrever um comando shebang em um ambiente virtual como pyenv. Anteriormente conhecido como Pythonbrew, pyenv é uma ferramenta simples de gerenciamento de versão Python que ajuda a gerenciar a versão Python, instalar as últimas versões Python e criar um ambiente virtual Python.

Na maioria dos casos, um interpretador Python é instalado em /usr/bin/python ou /bin/python. Nestes dois casos, a instrução shebang falhará se o seguinte comando for usado:

#!/usr/local/bin/python

Em conclusão, o comando shebang é apenas uma forma de denotar que o seguinte script é executável. Portanto, o resultado de qualquer script python nunca será afetado se o comando shebang for executado, seja mencionado ou não.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn