Nesta aula aprenderemos a instalar a biblioteca Kivy no sistema operacional Ubuntu.

Se você estiver executando o sistema operacional numa máquina virtual, pode ocorrer problemas que estão descritos neste tutorial.

A instalação da biblioteca Kivy num ambiente virtual criado com a Anaconda não está funcionando. Caso você saiba como resolver, envie-nos, ficaremos super felizes em divulgar que você resolveu a incompatibilidade!

Se o seu nome de usuário logado no sistema operacional contiver espaço ou algum caractere especial, poderá ocorrer problemas descritos neste tutorial!

DEFINIÇÕES

É importante não confundir 2 conceitos: Ambiente Virtual e Máquina Virtual.

  • Ambiente Virtual: versão do Python criada para a execução especifica de uma ou um conjunto de bibliotecas.
  • Máquina Virtual: Sistema Operacional executado com programas que emulam o hardware.

UBUNTU

Neste artigo aprenderemos como construir um ambiente de trabalho no Ubuntu, como também, as várias ferramentas disponíveis e as várias maneiras diferentes de configurar o nosso ambiente para o desenvolvimento de aplicações com Python e a biblitoeca Kivy.

O sistema operacional Ubuntu recebeu atenção especial na documentação do projeto Kivy, por essa razão, ensinaremos em detalhes a construção de ambientes de trabalho no mesmo.

De fábrica o Ubuntu 16.04 e as versões anteriores possuem 2 versões do Python, a 2x e a 3x. Por padrão, o Ubuntu define o Python 2x. Então, para executarmos um Script no interpretador 3x temos que definir isso explicitamente.

O Ubuntu possui vários atalhos para um mesmo interpretador do Python, por exemplo, se digitarmos no Terminal python, python2 ou python2.7 o modo interativo do Python 2x é iniciado. O mesmo acontece com a versão 3x, ou seja, podemos digitar python ou python3.4 que o modo interativo do Python 3x será iniciado.

Esse mesmo sistema de link ocorre com a ferramenta pip. Assim, podemos instalar um pacote no Python2x com o comando pip ou pip2 e podemos instalar um pacote para o Python3x com o comando pip3 .

A documentação oficial da biblioteca Kivy oferecer 2 formas para instalarmos a biblioteca e suas dependências no Ubuntu. A primeira opção instala a biblioteca nas instalações default do Python. Essa é uma forma de trabalho que você deve evitar, salvo em alguns poucos casos. A segunda forma, é fazer a instalação em um ambiente virtual.

Neste momento construiremos o nosso ambiente de trabalho utilizando o virtualenv e o virtualenvwrapper. Vale dizer que sugerimos que você utilize a ferramenta Anaconda, porém, neste momento, existe uma incompatibilidade, por essa razão, será ensinado de uma outra maneira. Vamos aprender a utilizar a ferramenta virtualenv e virtualenvwrapper e como gerenciar os ambientes utilizando a mesma.

Neste primeiro momento está ocorrendo uma incompatibilidade com a biblioteca Kivy e o Anaconda. Assim que a incompatibilidade for solucionada, as vídeos aulas ensinando a construção do ambiente com essas ferramentas será gravada e disponibilizada.

Na instalação da biblioteca Kivy costuma ocorrer problemas com as dependências que devem ser instaladas. Portanto, caso ocorra algum problema, a primeira medida a ser tomada é a desintalação de tudo e a reinstalação.

VERSÃO DO PYTHON

Veja qual a versão do Python instalada no seu sistema, pois, quando este manual foi construído o Ubuntu utilizava a versão do Python 3.4, porém, as novas versões do Ubuntu estão vindo com o Python 3.5.

Para descobrir as versões do Python instaladas, utilize s comandos a seguir:

ls /usr/bin | grep python

NOME DE USUÁRIO

O nome de usuário do sistema operacional não pode conter espaço em branco ou acentuação!

Se o seu nome de usuário no sistema operacional for composto por 2 nomes, por exemplo, Cláudio Rogério, ou melhor, caso haja no seu nome de usuário um espaço em branco, a instalação da biblioteca Kivy NÃO FUNCIONARÁ!

Da mesma forma acontecerá com qualquer acentuação! No exemplo anterior utilizando o meu nome, há 2 problemas, o primeiro é o espaço em branco, e o segundo, a acentuação, tanto em á como em é.

Esse é um bug conhecido e que ainda não foi resolvido.

Nesta situação você será obrigado a criar um novo usuário no seu OS.

MÁQUINA VIRTUAL

Se você estiver executando o Ubuntu numa máquina virtual criada com o VirtualBox, NÃO PODE MARCAR O ITENS a seguir:

Máquina Virtual criada utilizando o VirtualBox

Não foram feitos testes utilizando o VMWare, portanto, caso você tenha alguma informação, ficaríamos felizes se você compartilhastes conosco!

INSTALAÇÃO SEM AMBIENTE VIRTUAL

Não trabalhar desta forma!

Para instalarmos a biblioteca Kivy na instalação default do Ubuntu, basta adicionarmos o repositório ao nosso sistema, no caso, o PPA (Personal Package Archives), seja para a versão 2x, 3x ou a versão de desenvolvimento.

Ainda que essa seja a forma mais fácil para construirmos o ambiente de trabalho, é a menos recomendada. Isso porque, se utilizarmos a versão do Python que o SO utiliza e eventualmente corrompemos ou causamormos algum problema, nosso sistema operacional deixará de funcionar corretamente!

#adicionando o PPA ao sistema (stable builds)
$ sudo add-apt-repository ppa:kivy-team/kivy
#adicionando o PPA ao sistema (nightly builds)
$ sudo add-apt-repository ppa:kivy-team/kivy-daily

#atualizando o sistema
$ sudo apt-get update

#instalando o Kivy no Python 2x
$ sudo apt-get install python-kivy
#instalando o Kivy no Python 3x
$ sudo apt-get install python3-kivy

#instalando os códigos de exemplo
$ sudo apt-get install python-kivy-examples

ANACONDA, VIRTUALENV E UBUNTU

No momento em que este manual está sendo escrito há uma incompatibilidade entre a biblioteca Kivy e os ambientes virtuais criados com Anaconda no Ubuntu. Por essa razão será ensinado a construir o ambiente de trabalho utilizando a ferramenta virtualenv e virtualenvwrapper .

MONTANDO O AMBIENTE COM VIRTUALENV

Agora construiremos nosso ambiente de desenvolvimento e criaremos os ambientes virtuais utilizando as ferramentas virtualenv e virtualenvwrapper.

Como já dito, neste curso utilizaremos o projeto Anaconda para gerenciar os ambientes virtuais e os pacotes. Mesmo assim, me sinto no dever de ensinar a montar o ambiente utilizando a ferramenta virtualenv, até porque, essa ainda é a mais utilizada.

Novamente, não existe melhor ou pior ambiente de trabalho, tudo é uma questão de costume e de preferência.

O processo de instalação total compreende várias etapas, por isso, é super importante prestar atenção e ir fazendo exatamente como está sendo demonstrado.

Por fim, é importante dizer que muitos alunos irão ter problemas dos mais diversos e isso é super natural. A primeira tentativa de resolução é fechar tudo, reiniciar o OS e (re)iniciar o processo de instalação do zero.

Mesmo assim, todos os eventuais erros que você vier a ter é interessante compartilhar em nosso grupo, até porque, pode ser a solução para o problema de outro aluno.

INSTALANDO O VIRTUALENV E INSTALANDO KIVY NO UBUNTU

Vamos instalar e configurar nosso ambiente de trabalho no Ubuntu utilizando as ferramentas virtualenv e virtualenvwrapper. Para facilitar o estudo, dividi o processo de instalação e criação dos ambientes virtuais em 3 etapas.

  1. Atualização e instalação de pacotes (Ubuntu)
  2. Atualização e instalação pacote (Python)
  3. Criação dos ambientes virtuais a) k27 b) k34

1) PACOTES UBUNTU

Na página de instalação do projeto Kivy contém a lista de pacotes que precisam ser instalados no Ubuntu para que a biblioteca Kivy funcione. Esse material foi criado a partir dessa lista.

Para facilitar, adicionei numa única linha todos os pacotes necessários, tanto para a versão 2x como 3x do Python. Você pode construir essa lista através da página oficial, porém, preferi lhe entregar tudo pronto pra facilitar nosso trabalho.

#atualização do sistema
sudo apt-get update && sudo apt-get upgrade

#pacotes para python 2x e 3x
sudo apt-get install -y python-pip python3-pip build-essential git python python3  python-dev python3-dev libsdl2-dev  libsdl2-image-dev  libsdl2-mixer-dev  libsdl2-ttf-dev libportmidi-dev  libswscale-dev libavformat-dev libavcodec-dev zlib1g-dev ffmpeg

#caso ocorra erro na instalação do ffmpeg
sudo apt-get install libav-tools

#em tese não é necessário executar os comandos abaixo
#se o pacote libav-tools foi instalado
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg

Finalizamos a primeira fase da instalação da biblioteca Kivy no Ubuntu.

Agora vamos iniciar a instalação das bibliotecas do Python propriamente ditas.

ADDENDUM

Alguns alunos relataram que o local em que está ocorrendo a instalação do virtualenvwrapper está diferente do local em que normalmente encontravamos-o ou então, do local em que ensinamos aqui mesmo nesse tutorial. Como não posso alterar a localização do arquivo agora pois, para muitas versões do Ubuntu o turial continua correto, estou disponibilizando os locais prováveis em que você encontrará o arquivo.

Inicialmente, sempre que necessário, podemos localizar arquivos no Linux de forma semelhante ao que temos no script a seguir. Portanto, se ainda assim você fizer a instalação do virtualenvwrapper mas não localiza-lo nos locais aqui sugeridos, utilize essa primeira opção para então localiza-lo.

find / -name virtualenvwrapper.sh

No UBUNTU 12.04 LTS o arquivo do virtualenvwrapper estará em:

/usr/local/bin/virtualenvwrapper.sh

No UBUNTU 17.04 LTS o arquivo do virtualenvwrapper estará em:

~/.local/bin/virtualenvwrapper.sh

Caso ainda haja divergência ou então você encontre alguma divergência por favor, relate aqui nos comentários para que possamos atualizar o material.

2) INSTALAÇÃO PACOTES PYTHON

Para instalar os pacotes Python utilizaremos o gerenciador de pacotes pip.

# Instalação/atualização do pip, virtualenv e setuptools
sudo pip install --upgrade pip virtualenv setuptools

#instalação do virtualenvwrapper
$sudo pip install virtualenvwrapper

#adicionar no final do arquivo “~/.bashrc”

#local onde os ambientes serão armazenados
export WORKON_HOME=~/.virtualenvs
#script de ativação do virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh

#define que não será utilizado os pacotes instalados no python default
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
#define que não é possível utilizar o pip fora de algum ambiente virtual
export PIP_REQUIRE_VIRTUALENV=true

3) CRIAÇÃO DOS AMBIENTES VIRTUAIS

# Criação de um ambiente virtual de nome "k27" com Python 27
mkvirtualenv --no-site-packages -p /usr/bin/python2.7 k27

# instalação do pacote Cython
pip install Cython==0.23

# Instalação da biblioteca Kivy
pip install kivy

# Criação de um ambiente virtual de nome "k34" com Python34
mkvirtualenv --no-site-packages -p /usr/bin/python3.4 k34

# instalação do pacote Cython
pip install Cython==0.23

# Instalação da biblioteca Kivy
pip install kivy

Para ativar determinado ambiente virtual, utilize o comando abaixo.

# ativação do ambiente virtual workon k27 workon k34

Se você desejar instalar a versão em desenvolvimento (não recomendável no início) utilize o comando abaixo.

# Instalação da biblioteca Kivy (versão desenvolvimento) # pip install git+https://github.com/kivy/kivy.git@master

CONFIRMANDO A VERSÃO DO KIVY

Após a instalação, podes conferir a versão do Kivy que foi instalada com o seguinte comando:

import kivy

print(kivy.__version__)

FEDORA

O virtualenvwrapper está disponivel no proprio repositorio do Fedora.

sudo dnf install python-virtualenvwrapper

adicionar as duas proximas linhas no ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source virtualenvwrapper.sh

Essa dica foi fornecida pelo aluno Paulo Guilherme Venancio.

Dependências do SDL2 no Ubuntu e pacotes correspondente no Fedora (Testado no Fedora 25) Disponíveis no repositório "Fedora 25"

      Ubuntu               Fedora
build-essential   >>> grupo "C Development Tools and Libraries"
python-dev        >>> python-devel
python            >>> python
python-pip        >>> python-pip
git               >>> git
libsdl2-dev       >>> SDL2-devel
libsdl2-image-dev >>> SDL2_image-devel
libsdl2-mixer-dev >>> SDL2_mixer-devel
libsdl2-ttf-dev   >>> SDL2_ttf-devel
libportmidi-dev   >>> portmidi-devel
zlib1g-dev        >>> zlib-devel
Disponíveis no repositório "RPM Fusion for Fedora 25"

      Ubuntu               Fedora
ffmpeg            >>> ffmpeg
libswscale-dev    >>> ffmpeg-libs
libavformat-dev   >>> ffmpeg-libs
libavcodec-dev    >>> ffmpeg-libs


Tags python, kivy, blog

Comentários

comments powered by Disqus