Python (Português)
Do Wikipédia:
- Python é uma linguagem de programação dinâmica de alto nível, de propósito geral, interpretada e amplamente usada. Sua filosofia de design enfatiza a legibilidade do código e sua sintaxe permite que os programadores expressem conceitos em menos linhas de código do que o possível em linguagens como C++ ou Java. A linguagem fornece construções destinadas a permitir a gravação de programas claros em pequena e grande escala.
- Python possui suporte a vários paradigmas de programação, incluindo programação orientada a objetos, programação imperativa e funcional ou estilos de procedimentos. Possui um sistema de tipo dinâmico e gerenciamento automático de memória e possui uma biblioteca padrão ampla e abrangente.
Instalação
Python 3
Python 3 é a versão mais recente da linguagem e é incompatível com o Python 2. A linguagem é basicamente a mesma, mas muitos detalhes, especialmente como objetos embutidos como dicionários e strings funcionam, mudaram consideravelmente e muitos recursos descontinuados finalmente foram removidos. Além disso, a biblioteca padrão foi reorganizada em alguns lugares de destaque. Para uma visão geral das diferenças, visite Python2orPython3 e os capítulos relevantes no Dive into Python 3.
Para instalar a versão mais recente do Python 3, instale o pacote python.
Se você deseja criar os candidatos a lançamento(RC) ou betas mais recentes a partir do código-fonte, visite Python Downloads. O Arch User Repository também contém bons PKGBUILDs. Se você decidir compilar o RC, observe que o binário (por padrão) é instalado em . Como alternativa que não requer permissões de superusuário e instala no diretório pessoal do usuário, considere usar pyenv.
Python 2
Para obter a versão mais recente do Python 2, instale o pacote python2AUR.
O Python 2 será executado felizmente ao lado do Python 3. Você precisa especificar para executar esta versão.
Qualquer programa que exija o Python 2 precisa apontar para , em vez de , que aponta para o Python 3. Para fazer isso, abra o programa ou script em um editor de texto e altere a primeira linha. A linha mostrará um dos seguintes:
#!/usr/bin/env python
ou
#!/usr/bin/python
Nos dois casos, basta alterar para e o programa usará o Python 2 em vez do Python 3.
Outra maneira de forçar o uso de python2 sem alterar os scripts é chamá-lo explicitamente com :
$ python2 meuScript.py
Por fim, talvez você não consiga controlar as chamadas de script, mas existe uma maneira de enganar o ambiente. Funciona apenas se os scripts usarem #!/usr/bin/env python
. Não funcionará com . Esse truque se baseia na pesquisa do na primeira entrada correspondente na variável .
Primeiro, crie uma pasta:
$ mkdir ~/bin
Em seguida, adicione um link simbólico para python2 e os scripts de configuração:
$ ln -s /usr/bin/python2 ~/bin/python $ ln -s /usr/bin/python2-config ~/bin/python-config
Por fim, coloque a nova pasta no início da sua variável :
$ export PATH=~/bin:$PATH
Para verificar qual interpretador Python está sendo usado por , use o seguinte comando:
$ which python
Uma abordagem semelhante ao enganar o ambiente, que também depende de #!/usr/bin/env python
a ser chamada pelo script em questão, é usar um #Ambiente virtual.
Implementações alternativas
As seções acima se referem à implementação de referência do Python, chamada de CPython. No entanto, também existem outras implementações disponíveis - as mais populares:
- PyPy é uma implementação Python 2.7/3.6 utilizando um compilador JIT. Geralmente é mais rápido e usa menos memória, mas não é totalmente compatível com o CPython (embora a maioria dos pacotes e códigos funcione sem alterações).
- Jython é uma implementação do Python 2.7 construída em Java. Permite fácil integração do código Python e Java, mas não é totalmente compatível com as bibliotecas do CPython. É frequentemente usado para fornecer Python como uma linguagem de script em um aplicativo Java maior.
- IronPython é uma implementação do Python 2.7 construída em .NET - atinge os mesmos objetivos que o Jython, mas para linguagens .NET (como C#/VB).
- MicroPython é uma implementação limitada do Python 3.4 direcionada a microcontroladores e outros ambientes incorporados (como UEFI), mas é incompatível com a maioria dos pacotes padrão devido a mudanças menores de sintaxe e biblioteca padrão severamente limitada. É frequentemente usado para criação de protótipos em ambientes incorporados (pois fornece um Python REPL).
- Mais implementações estão disponíveis, embora a maioria não seja mais mantida devido a melhorias nas mais populares.
Versões antigas
As versões antigas do Python estão disponíveis no AUR e podem ser úteis para curiosidade histórica, aplicativos antigos que não são executados nas versões atuais ou para testar programas Python destinados a serem executados em uma distribuição que vem com uma versão mais antiga:
- Python 3.7:
- Python 3.6:
- Python 3.5:
- Python 3.4: python34AUR
- Python 2.6:
- Python 2.5:
Módulos/bibliotecas extras para versões antigas do Python podem ser encontrados no AUR pesquisando , por exemplo procurando por "python26" para módulos 2.6.
Gerenciamento de pacotes
Embora um grande número de pacotes Python esteja prontamente disponível nos repositórios oficiais e no AUR, o ecossistema Python fornece seus próprios gerenciadores de pacotes para uso com PyPI, o Índice de Pacotes Python:
Para um breve histórico e comparação de recursos entre os dois, consulte pip vs easy_install. As melhores práticas de autoridade no gerenciamento de pacotes Python são detalhadas aqui.
Se você precisa usar pip, use um ambiente virtual ou pip install --user
para evitar conflitos com pacotes em . É sempre preferível usar o pacman para instalar softwares.
Ligações de widget
As seguintes ligações para toolkit de widget estão disponíveis:
- pyQt — Ligações para Qt
- https://riverbankcomputing.com/software/pyqt/intro || python2-pyqt4AUR python2-pyqt5[link quebrado: package not found] python-pyqt4AUR python-pyqt5
Para usá-los com o Python, pode ser necessário instalar os kits de widgets associados.
Dicas e truques
Shells alternativos
- ptpython — Interface sofisticada para o interpretador Python baseada na interface de entrada prompt-toolkit.
Ambiente virtual
O Python fornece ferramentas para criar ambientes isolados nos quais você pode instalar pacotes sem interferir nos outros ambientes virtuais nem nos pacotes do sistema Python. Pode mudar o interpretador python usado para um aplicativo específica.
Veja Python/Virtual environment para detalhes.
Conclusão com Tab no shell do Python
Desde o Python 3.4, conclusão com Tab está ativado por padrão, no Python 2 você pode ativá-lo manualmente adicionando as seguintes linhas a um arquivo referenciado pela variável de ambiente :
import rlcompleter import readline readline.parse_and_bind("tab: complete")
Observe que o programa de conclusão "readline" só concluirá nomes no espaço para nomes global. Você pode recorrer ao python-jedi para obter uma experiência mais completa de conclusão com Tab .
Solução de problemas
Lidando com problema de versão em scripts de compilação
Muitos scripts de compilação de projetos supõem que seja Python 2, e isso acabaria resultando em um erro — normalmente reclamando que é uma sintaxe inválida. Felizmente, muitos deles chamam python a partir da variável de ambiente em vez de codificar na linha shebang, e os scripts Python são todos contido na árvore do projeto. Portanto, em vez de modificar os scripts de construção manualmente, há uma solução alternativa. Crie com conteúdo como este:
sendo uma lista de padrões separados por correspondendo a todas as árvores do projeto. Para alguns scripts, o caminho pode não ser o primeiro parâmetro. Por exemplo, o Google SDK envia como o primeiro parâmetro. O comando readlink deve mudar para script=$(readlink -f -- "$1")
.
Não se esqueça de torná-lo executável. Posteriormente, os scripts nas árvores de projeto especificadas serão executados com o Python 2.
Veja também
- Documentação oficial do Python
- O'Reilly's Learning Python, 5th edition
- Dive Into Python, Dive Into Python3
- A Byte of Python
- Learn Python the Hard Way
- Learn Python
- Crash into Python (presume familiaridade com outras linguagens de programação)
- Beginning Game Development with Python and Pygame comercial
- Think Python
- Pythonspot
- OverIQ Python Tutorial
- Python Tutorial to Learn Step by Step
- awesome-python - Uma lista com curadoria de estruturas, bibliotecas, software e recursos Python.
- boltons - Trecho/receitas/trechos que seriam úteis na biblioteca padrão.