Tutorial de instalação Python

Como usuário e evangelizador do open source, me vi na obrigação de fazer essa pequena contribuição propondo maneiras de se instalar o Python e programas/pacotes do mesmo.

A filosofia da linguagem Python alega que deve haver apenas uma maneira óbvia de se fazer as coisas. Curiosamente, há diversas maneiras de se obter o Python, abaixo explico as principais.

Anaconda

Como sugerido pelo professor, uma das formas de se utilizar Python é através da distribuição Anaconda. As instalações disponíveis podem ser facilmente encontradas neste link.

Já existe uma documentação extensa sobre a distribuição e irei apresentá-la, mas antes gostaria de elucidar o que pode ser entendido por distribuição nesse contexto.

O Python é uma linguagem de programação interpretada cuja maior feature é, argumentavelmente, a facilidade de utilizar pacotes/bibliotecas (isto é, código de pessoas que gastaram neurônios para fazer nossa vida mais simples). Para utilizar tais pacotes, é preciso possuir, pasme, um package manager, que permite a instalação e o gerenciamento das versões dos seus pacotes. A distribuição Anaconda é um conjunto composto pelo interpretador Python, o gerenciador conda, bibliotecas comuns (especialmente usadas em computação científica e ciência de dados), ferramentas para edição de código (como Spyder e Jupyter), e provavelmente muitas outras coisas das quais eu não sei e muitos que baixarem a distribuição sequer chegarão a utilizar.

O guia Getting started with Conda te permite iniciar os trabalhos em cerca de 20 minutos. Note que o passo zero é obter uma distribuição, para isso use o guia

Os demais passos indicam como checar a instalação, e como criar e usar um virtual environment, o que é uma forma de isolar diferentes versões de um mesmo pacote para diferentes projetos em sua máquina. Voltaremos nisso depois.

Miniconda

A distribuição Anaconda pode ser considarada bloated, tanto do ponto de vista de software quanto do ponto de vista de tamanho para alguns. Quem possui tais preocupações e ainda prefere utilizar o conda, pode optar pelo Miniconda, o qual contém apenas o interpretador, o package manager e apenas as dependências necessárias.

Barebones

Além de conda, temos um outro gerenciador de pacotes famoso: pip. Chamei essa seção de barebones, porque representa uma forma de instalar apenas o interpretador e as utilidades necessárias.

Linux

Seu dia de sorte! Um dos muitos benefícios de utilizar Linux é já possuir um interpretador Python instalado (a não ser que você não use uma distribuição Linux convencional, nesse caso, você deve já saber muito bem o que está fazendo). Dessa forma é apenas preciso instalar as utilidades que deseja para seus trabalhos, eu recomendo pip (gerenciador de pacotes), venv (ferramenta para criar ambientes virtuais), e tkinter (necessário para ter boa experiência com matplotlib). Caso você esteja usando uma distribuição baseada no Debian/Ubuntu, abra um terminal e faça:

sudo apt install python3-pip python3-venv python3-tk

Além dessas utilidades, é muito comum utilizarmos Jupyter para análises simples de dados, para instalá-lo para seu usuário basta fazer:

pip install jupyterlab

Isso instala uma versão “vitaminada” do Jupyter. Além disso, você com certeza precisará de um editor de texto, como isso é uma discussão inteiramente a parte, me restringirei a recomendar o Nvim (caso você seja macho) ou o VSCode (caso você não seja tão nerd).

Windows

Instale Linux e repita o procedimento acima.

Se você ainda se contenta usando um sistema operacional inferior, acesse https://www.python.org/downloads/windows/, baixe uma versão em Stable Releases e execute o instalador. O passo a passo é bem simples, mas recomendo utilizar o Anaconda no Windows, porque permite que você tenha uma interface gráfica – esse processo barebones faz mais sentido para quem está acostumado com a linha de comando e é mais produtivo nela. Dito isso, instalando dessa forma você já obtém as utilidades citadas acima.

Mac

Não sou grande conhecedor do sistema da Apple, então, como no caso do Windows, recomendo checar https://www.python.org/downloads/macos/ ou usar a Anaconda. Mac é um sistema baseado no Unix, como o Linux, mas possui algumas complicações a mais das quais não tenho capacidade de instruir.

Instalando pacotes

Recomendo sempre considerar a instalação de bibliotecas no contexto de um projeto. Imagine que você esteja trabalhando num projeto já corrente que utiliza a versão 1.18 do NumPy e, paralelamente, deseja iniciar um projeto com a versão mais recente do pacote (1.24). Não é preciso pensar muito para imaginar que um interpretador Python genérico na sua máquina não conseguirá identificar a diferença dos projetos e irá utilizar a versão do NumPy cuja instalação é mais recente. Para evitar esse tipo de problema, podemos criar um ambiente virtual para cada projeto.

Ambientes virtuais são como salas de trabalho para o interpretador. Em cada sala o interpretador só é capaz de utilizar aquilo que está dentro da sala, de forma que salas com a mesma ferramenta em diferentes versões não apresentam conflito algum. O tutorial do Anaconda já conta com uma apresentação de como se fazer isso (criar um ambiente virtual), caso você esteja usando a utilidade que eu sugeti (venv), navegue para a raiz do seu projeto (a pasta que contém todos os arquivos e subpastas relevantes, ou onde fica a pasta .git de um repositório git) e faça:

python -m venv .env

Isso irá criar uma pasta .env no seu projeto (o . no início indica que ela é uma pasta oculta, o que facilita a visualização do projeto em interfaces gráficas, mas é plenamente acessível). Agora, para ativar o ambiente virtual, isto é, para o interpretador entrar na sala,

source .env/bin/activate

Caso você esteja no Windows .env\Scripts\activate

Agora seu interpretador “sabe” que está dentro de um projeto e pode utilizar qualquer biblioteca já instalada dentro do projeto e irá instalar novas bibliotecas de forma isolada do resto do seu computador (na realidade essa instalação não é completamente isolada, mas na prática não fará diferença). Agora, para instalar SymPy, por exemplo

pip install sympy

Ou

conda install sympy

Para obter outras bibliotecas o processo é completamente análogo.

Note que bibliotecas nada mais são do que software e que pip e conda são gerenciadores de pacote da mesma forma que apt é, a única diferença é que os dois primeiros são específicos da linguagem Python. Digo isso porque nem toda instalação via pip/conda precisa ser feita dentro de um ambiente virtual, por exemplo, o window manager que eu uso (Qtile) pode ser instalado diretamente com pip, porém isso não deve (talvez até possa, mas com mais trabalho) ser feito dentro de um ambiente virtual. Similarmente, você pode ter um jupyter-lab para cada projeto, mas eu particularmente não vejo muitos benefícios nisso. A maior vantagem dos ambientes virtuais se dão no uso de bibliotecas de código mesmo, como SymPy, NumPy, Pandas, Matplotlib, etc.

Espero ter ajudado!