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 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