Este tutorial mostra como instalar e configurar o Eclipse para desenvolver em Python. O plugin utilizado será o PyDev Extensions. Após as configurações você terá uma IDE com muitas funcionalidades (dê uma olhada em PyDev Extensions, vale a pena).
Eu utilizo o Debian Testing e portanto o tutorial é baseado nesse sistema operacional. No entanto ele é genérico o bastante para ser aplicado em outros SOs.
No final há seções dedicadas ao desenvolvimento em Zope/Plone.
Seu sistema deverá ter o Java 1.4 JRE, Java5 JRE (recomendável) ou algo compatível instalado. Mais informações em JRE.
No Debian testing eu instalei o pacote sun-java6-jre via apt.
Na página oficial Eclipse Downloads e faça o download do Eclipse Classic. A versão atual é a 3.3. Existe um pacote do Eclipse disponível via apt, porém se trata de uma versão antiga.
No Debian testing a instalação é feita descompactando o arquivo e movendo a pasta resultante (eclipse) para algum lugar conveniente. No meu caso eu a movi para /usr/lib. Para iniciar o Eclipse basta então fazer:
cd /usr/lib/eclipse
./eclipse &
Uma coisa irritante é que toda vez que eu inicio o Eclipse desse jeito ele pergunta onde está meu Workspace. Para ele não perguntar basta executá-lo assim:
cd /usr/lib/eclipse
./eclipse -data /path/do/meu/workspace &
Obviamente você pode escrever um shell script para executar essa linha de comando e colocá-lo em algum diretório que esteja no seu PATH.
Não é exatamente um pré-requisito, porém o PyLint adiciona funcionalidades interessantes ao PyDev. Além disso o pylint pode ser utilizado separadamente. Da descrição do pacote Debian (chama-se "pylint"):
Pylint is a Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells (as defined in Martin Fowler's Refactoring book).
É possível instalar o PyDev Extensions a partir do próprio Eclipse. Para isso você deve executar o Eclipse com um usuário com permissão de escrita no diretório de instalação do Eclipse e seguir os passos:
- Vá em Help/Software updates/Find and install.
- Escolha "Search for new features to install" e Next.
- Clique em "New remote site" e coloque esse endereço e um nome qualquer.
- Selecione o site adicionado e clique em "Finish".
- Selecione a versão mais nova dos pacotes do PyDev for Eclipse e PyDev Extensions.
Algumas configurações devem ser feitas obrigatoriamente. As demais opções podem ser exploradas depois para obter funcionalidades avançadas. Para configurar o plugin vá em Window/Preferences/Pydev. Você deve configurar o seguinte:
- Interpreter - Python: Você deve adicionar o executável do seu interpretador Python. Na maioria das distribuições Linux o path é algo como /usr/bin/python2.4 .
- Pylint: escolha se você deseja usar o pylint ou não (marque em "Use pylint ?"). Preencha o campo "Location of pylint (lint.py)". No Debian o caminho é: /usr/share/pycentral/pylint/site-packages/pylint/lint.py. Coloque também o valor 1 em "Max process for Pylint".
Para testar se tudo está funcionando:
- Crie um novo projeto do tipo "Pydev Project" com as opções default.
- Clique com o botão direito na pasta src e escolha New/Pydev Module.
- Escolha um nome para o módulo (ex. HelloWorld).
- Digite: print 'Hello world !'
- Clique com botão direito no arquivo criado e escolha Run as/Python run.
- Verifique no console se o programa foi executado corretamente.
- Digite alguma coisa com sintaxe incorreta e veja se o pylint está acusando os erros.
- Digite import os. e veja se a lista de nomes exportados do módulo os aparece automaticamente.
O plugin Web Standard Tools forneced editores para arquivos HTML e JavaScript, com syntax highlighting, code-completion, etc. Para instalá-lo via Eclipse:
- Vá em Help/Software updates/Find and install.
- Escolha "Search for new features to install" e Next.
- Marque os sites "Europa Discovery Site" e "The Eclipse Project Updates" e clique em "Finish".
- Selecione Europa Discovery Site/Web and JEE Development/Web Standard Tools.
- Clique em "Select Required".
- Next, next, next, finish !
Em Window/Preferences/General/Content Types você pode associar as extensões de sua linguagem de template favorita (ex.: *.pt) ao tipo HTML. Desse modo o editor HTML será utilizado para abrir arquivos do tipo escolhido.
Para obter o máximo das funcionalidades do Eclipse/PyDev é necessário usar algumas técnicas descritas aqui:
Crie um projeto do tipo Pydev Project.
Adicione a pasta dos produtos específicos do seu projeto (não adicione a pasta do Plone aqui). Para que o Pydev possa reconhecer os produtos corretamente seus produtos deverão estar em uma estrutura igual a essa no sistema de arquivos:
/home/meuusuario/meu_projeto/produtos/
__init__.py
Products/
__init__.py
Produto1/
Produto2/
...
O importante é que exista uma pasta chamada Products contendo os produtos do projeto, e que a pasta pai contenha um arquivo __init__.py. Dentro da pasta products também deverá existir um __init__.py. Essa estrutura é necessária devido ao sistema de pacotes do Zope que coloca os produtos dentro do pacote virtual "Products". Desse modo ao fazer um import Products.Produto1 o Eclipse conseguirá reconhecer o produto.
Obs.: links simbólicos não funcionam aqui ! O Eclipse não irá reconhecer os produtos corretamente se você utilizar links simbólicos.
- Clique com o botão direito no nome do projeto e escolha New/Folder.
- Clique em Advanced e marque "Link to folder in filesystem". Procure a pasta pai da sua pasta Products. No meu exemplo o caminho é /home/meuusuario/meu_projeto/produtos/.
- Adicione a pasta no PYTHONPATH. Clique com o botão direito no projeto, vá em Properties/PyDev - PYTHONPATH. Clique em "Add source folder" e escolha a pasta pai da pasta da Products. No exemplo dado essa pasta se chama "produtos".
- Para testar abra algum arquivo .py e digite from Products. e veja se aparece uma lista dos produtos do seu projeto.
Adicione os produtos do Plone ao PYTHONPATH. A pasta contendo os produtos do Plone deve estar em uma estrutura como a dos produtos do seu projeto, por exemplo:
/home/meuusuario/produtos_plone/
__init__.py
Products/
Archetypes/
CMFCore/
CMFPlone/
...
Clique com o botão direito no projeto, vá em Properties/PyDev - PYTHONPATH. Adicione a pasta contendo a pasta Products do Plone (ex.: produtos_plone) como uma "External Source Folder".
Adicione os arquivos do Zope ao PYTHONPATH. A pasta lib/python do Zope já está em uma estrutura adequada, basta adicioná-la como uma uma "External Source Folder".
Opcionalmente você pode criar um projeto separado e adicionar os produtos do Zope e do Plone à este projeto. Isso é útil apenas no caso de você precisar fazer buscas no código fonte do Zope e do Plone, utilizando o próprio Eclipse para isso. Você pode ainda associar este novo projeto ao projeto principal (nas propriedades do projeto). Dessa forma, ao pressionar F3 com o cursor em cima de um identificador o Eclipse buscará sua definição também nos produtos do Zope e do Plone.
A verificação de imports do pylint não funciona bem com as configurações acima. Para desabilitá-la vá em Window/Preferences/PyDev/Pylint. Em "Arguments to pass to pylint..." coloque: --disable-msg=E0611,F0401. Essa opção pode ser usada para desabilitar outras mensagens inconvenientes do pylint. A documentação do pylint explica as outras opções que pode ser utilizadas, vale a pena dar uma olhada.
Executar o Zope dentro do Eclipse. Para isso vá em Run/External tools/Open external tools dialog. Crie uma configuração do tipo Program para executar o runzope de sua instância Zope.
Agora você tem uma IDE python completa. Em PyDev Extensions você encontra uma descrição completa de todas as funcionalidades (são muitas).