Sublime Text 3 – Python, VirtualEnv e Autocomplete

Python Anaconda

Aproveitando que muitas pessoas vem me perguntando como integrar facilmente o Python no SublimeText 3, e como meu post anterior não funciona mais para essa nova versão da IDE, foi que decidi fazer esse post explicando como integrar essas maravilhas.



Sublime Text 3

Para fazer download é simples, basta ir em http://www.sublimetext.com/3 e baixar a ultima versão da IDE compatível com seu sistema operacional.

Package Control

Esse carinha chamado Package Control facilita a instalação de novos pacotes no sublime text, e é muito simples de instalar:

  • Abra o console do sublime text(ctrl+` normalmente, ou acessível em View->Show Console)
  • Cole o seguinte texto e de enter:
import urllib.request,os,hashlib; h = '2deb499853c4371624f5a07e27c334aa' + 'bf8c4e67d14fb0525ba4f89698a6d7e1'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Em seguida reinicie o Sublime Text.

Anaconda

Anaconda (não, não tem nada haver com a musica da Nicki Minaj) é o package do Sublime que tem diversas coisas para facilitar sua vida na hora de desenvolver aplicações em Python no Sublime.

Com ele é possível utilizar a função de Autocompletar e navegar nos fontes de um determinado código em Python, além de usar os linters (PyFlakes ou PyLint) já “direto de fábrica”.

Para instalar esse package vamos usar o Package Control recém instalado, aperte(Shift + ctrl + P ou no mac: shit + cmd + P)
Selecione na lista: “Package Control: Install Package”, e na próxima lista que aparecer, procure por Anaconda e instale.

Usando o Anaconda em um Projeto

Para fazer isso é muito simples, basta abrir uma pasta de algum projeto Python que esteja trabalhando, e salvar a mesma como sendo um Projeto do próprio Sublime Text.

Isso pode ser feito na opção: Project->Save Project As….

Salve o arquivo do projeto dentro da pasta do próprio projeto.

Em seguida abra o arquivo do projeto do sublime text (seuprojeto.sublime-project).

Ele deverá ter uma cara parecida com a seguinte:

{
	"folders":
	[
		{
			"follow_symlinks": true,
			"path": "."
		}
	]
}

O que você vai fazer agora é colocar uma nova propriedade que vai dizer ao SublimePythonIDE onde está o seu interpretador Python:

{
	"folders":
	[
		{
			"follow_symlinks": true,
			"path": "."
		}
	],
 
    "settings": {
        "python_interpreter": "/home/seu_usuario/.virtualenvs/seu_projeto/bin/python"
    }
}

Para saber onde está o seu interpretador Python, no linux digite:

$ which python

Com isso se você estiver usando um VirtualEnv (caso não esteja, aconselho ler esse post aqui e começar a usar: Usando VirtualEnvWrapper), você precisa apenas ativar o seu virtualenv e rodar o mesmo comando que ele vai te mostrar onde está o interpretador Python do ambiente virtual python em questão.

HotKeys

Uma vez instalado o Anaconda podemos usar o AutoComplete usando Ctrl + Space, mas existe outra funcionalidade muito boa presente no que podemos aproveitar agora no Sublime também, o Go to Definition(Navegamos diretamente para o fonte da seleção atual).

Para utilizar o Go to Definition no linux basta selecionar o bloco de codigo python que se deseja inspecionar e apertar as teclas: Super + g, ou no mac/windows: ctrl+alt+g.

Caso queira, você pode configurar outros atalhos do Anaconda ou trocar outros para que fiquem de acordo com seu gosto (eu prefiro utilizar o Go to Definition com Super + a + g por exemplo).

Linting

Esse package já vem com uma série de Lints do Python built-in, como o PyFlakes e Pylint.
Mas caso queira é possivel configurar para ele não rodar essas verificações, ou para ignorar apenas algumas, colocando nas settings a chave anaconda_linting como false.

Existem muitas outras opções e formas de tornar o sublime text uma IDE Python bem personalizada usando o Anaconda, porém o post iria ficar imenso, se você gostou do que viu, sugiro que de uma olhada no site e veja o que mais você pode fazer para se divertir.

OBS: Só recomendo ser especifico na hora de buscar algo no google, ja que os primeiros resultados apontam para Nicki Minaj xD
Abraços.

About arruda

Adoro programar, descobrir novas frameworks ágeis e suas diversas aplicações.