Pergunta

Eu tenho a configuração Eclipse com PyDev e amor ser capaz de depurar meus scripts / apps. Eu apenas comecei a brincar com Pilões e queria saber se existe uma maneira para iniciar o servidor paster através Eclipse para que eu possa depurar o meu webapp?

Foi útil?

Solução

Crie uma nova configuração de lançamento (Python Run)

guia Principal

Use paster-script.py como módulo principal (você pode encontrá-lo no Scripts sub-diretório em seu diretório de instalação do python)

Não se esqueça de adicionar a pasta raiz do seu aplicativo na zona PYTHONPATH

Argumentos Defina o diretório base para a pasta raiz também.

Argumentos como o programa usar "servir development.ini" (ou o que você usa para depurar seu app ")

Guia Comum

Verifique alocar console e lançamento em fundo

Outras dicas

Se você prefere não incluir a instalação do Python no espaço de trabalho do seu projeto para obter paster, você pode criar um driver puro-Python como:

#!/usr/bin/env python

from paste.script.serve import ServeCommand

ServeCommand("serve").run(["development.ini"])

... and run / debug que em Eclipse.

Nota: este está sendo executado sem a opção --reload, para que não fique implanta quentes (ou seja, você vai precisar para o servidor de recarga para ver as mudanças). Alternativamente, você pode adicionar a opção --reload para obter implanta quentes, mas depois Pydev não vai parar em seus pontos de interrupção. não pode ter seu bolo e comê-lo ...

ServeCommand("serve").run(["--reload", "development.ini"])

yanjost tem direito, só queria acrescentar que você precisa ter certeza de que você não use a opção --reload, isso vai impedir que o depurador de anexar-se corretamente e fazer com que seus pontos de interrupção não ao trabalho. Apenas uma pequena coisa que eu corri para.

Eu era capaz de conseguir --reload trabalho, alterando o 'diretório de trabalho' na guia argumentos para não usar o padrão (ou seja, selecione 'Outros' -> System File -> 'raiz do seu Pilares' aplicativo onde development.ini é armazenado.

No Linux, que será provavelmente / usr / bin / paster ou / usr / local / bin / paster para colar roteiro, e para os argumentos que eu tenho: servir $ {workspace_loc} $ {project_path} /development.ini

Eu também tenho esta trabalhando (finalmente). Eu costumava buildout vez de virtualenv para instalar postes (instruções em: http: //wiki.pylonshq.com/display/pylonscommunity/Howto+install+Pylons+with+buildout ), de modo que as instruções acima precisava ser mudado um pouco, tanto quanto os caminhos vão.

-por "Módulo principal", eu uso:

${workspace_loc:myeclipseprojectname/bin/paster}

(adicionando --reload fez pontos de interrupção não funciona para mim, e eu testei isso algumas vezes)

-para "argumentos de programa", eu uso:

serve ${workspace_loc:myeclipseprojectname/mypylonsprojectname/development.ini}

-por "Diretório de Trabalho, Outro:", eu uso:

${workspace_loc:myeclipseprojectname/mypylonsprojectname}

-conforme mencionado acima, em "Guia Comum", "Check alocar console e lançamento em segundo plano"

-e lembre-se de definir um ponto de interrupção antes de tentar.

Isto realmente não responder à pergunta sobre como fazê-lo em eclipse. Mas eu tenho a depuração do servidor paster com winpdb, que é bastante bom depurador python gráfica (você pode instalá-lo com easy_install winpdb).

Apenas iniciar o seu servidor por exemplo:.

winpdb /usr/local/bin/paster serve development.ini

E clique no botão executar.

Como Wayne disse, é necessário não opção de uso --reload. Pelo menos eu não era capaz de encontrar a forma de anexar a webapp real mesmo, ao selecionar a que bifurcada depurador processo deve entrar (entrar diferentes processos podem ser controlados com "pai garfo" e comandos do depurador "fork criança").

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top