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