aplicação de depuração Pilares através Eclipse
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?
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").