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:

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.
- Atualização e instalação de pacotes (Ubuntu)
- Atualização e instalação pacote (Python)
- 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
VEJA TAMBÉM
Tags python, kivy, blog
Comentários
comments powered by Disqus