Rodar programa em página da web

1,110 views
Skip to first unread message

Thassyo Pereira

unread,
Nov 6, 2011, 6:14:00 PM11/6/11
to python...@googlegroups.com
Fala galera,

Eu não entendo muito de aplicações web com python e tou com algumas dúvidas.
Eu escrevi um programa em python para otimização de sequenciamento de produção e queria disponibilizá-lo para download.
Então, criei uma conta no hostmídia para criar um site para colocar esse e outros programas da área que eu fosse fazendo.
Aí me surgiu uma ideia: ao invés de eu colocar para download, tem como eu fazer com que esses programas sejam executados na página, sem modificar o código?
Antes de eu criar a conta, chequei que o provedor executa python.
 
Att.,
Thassyo Pereira
(91) 8118-4736

Bruno Rocha

unread,
Nov 6, 2011, 6:20:04 PM11/6/11
to python...@googlegroups.com
Não se é isso, mas pode usar o http://www.pythonanywhere.com/

caso contrário terá que usar um framework para desenvolver uma web app.

se for apenas para receber parametros e executar um script eu recomendo o Bottle, web.py ou Flask

http://bottlepy.org

2011/11/6 Thassyo Pereira <tha...@ymail.com>

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com



--

Gustavo Henrique Lima Pinto

unread,
Nov 6, 2011, 6:21:06 PM11/6/11
to python...@googlegroups.com
sem modificar o código é um pouco complicado.

possivelmente você vai precisar editar alguma coisa (dependendo do framework que vc use), pra manipular as informações que vem do usuário.

nesse caso, talvez fosse legal você dar uma olhada no django ou no web2py, que são frameworks para desenvolvimento web

abs

2011/11/6 Thassyo Pereira <tha...@ymail.com>

--

Thassyo Pereira

unread,
Nov 6, 2011, 6:32:58 PM11/6/11
to python...@googlegroups.com
Sobre modificação de código me refiro a mexer no coração do algoritmo (a metaheurística que utilizo).
Você, basicamente, tá me dizendo que é possível manter o script, desde que eu crie uma interface para receber dados? Seria como que trocar o Tkinter pelo django/web2py?
 
Att.,
Thassyo Pereira
(91) 8118-4736

De: Gustavo Henrique Lima Pinto <gustavohe...@gmail.com>
Para: python...@googlegroups.com
Enviadas: Domingo, 6 de Novembro de 2011 20:21
Assunto: Re: [python-brasil] Rodar programa em página da web

Thassyo Pereira

unread,
Nov 6, 2011, 6:38:42 PM11/6/11
to python...@googlegroups.com
Bruno,

Como disse, não entendo muito de web. Mas, acho que se encaixa na segunda opção, receber parâmetros e executar um script. É possível utilizar psyco, numpy e outros deste modo?
 
Att.,
Thassyo Pereira
(91) 8118-4736

De: Bruno Rocha <rocha...@gmail.com>
Para: python...@googlegroups.com
Enviadas: Domingo, 6 de Novembro de 2011 20:20

Assunto: Re: [python-brasil] Rodar programa em página da web

Bruno Rocha

unread,
Nov 6, 2011, 6:53:00 PM11/6/11
to python...@googlegroups.com


2011/11/6 Thassyo Pereira <tha...@ymail.com>

Sobre modificação de código me refiro a mexer no coração do algoritmo (a metaheurística que utilizo).
Você, basicamente, tá me dizendo que é possível manter o script, desde que eu crie uma interface para receber dados? Seria como que trocar o Tkinter pelo django/web2py?

Vou dar um exemplo bem simples com web2py, mas pode ajuda-lo pois neste mesmo modelo você poderá usar qualquer código que quiser, incluindo numpy, psyco ou qualquer outra coisa.

digamos que o seu código "meucodigo.py" tem o seguinte código:

def soma(x, y):
    return x + y

no web2py crie uma aplicação e mova este arquivo para a pasta applications/SUAAPP/modules/meucodigo.py

agora edite o arquivo applications/SUAAPP/controllers/default.py

neste arquivo crie uma action para executar seu código, esta action irá responder por http://localhost:8000/SUAAPP/default/soma?y=200&x=300

def soma():
    x = request.vars.x
    y = request.vars.y
    from meucodigo import soma
    resultado = soma(x, y)
    return dict(resultado=resultado)

Pronto, neste ponto você já tem uma app web para executar seu script, receber os parametros e mostrar o resultado, neste exemplo acima está usando views genéricas e pode exibir o resultado como html, json, xml e pdf apenas mudando a extensão.

em html


ou substituindo a extensão.

/soma.json?y=200&x=300 
/soma.xml?y=200&x=300
/soma.pdf?y=200&x=300
/soma.rtf?y=200&x=300
/soma.xls?y=200&x=300

mas você editar as views para exibir de uma maneira um pouco melhor.

Se quiser crie uma view (template) em applications/SUAAPP/views/default/soma.html

{{extend 'layout.html'}}
<h1> Resultado da soma </h1>
<span> Soma de {{=request.vars.y}} e {{=request.vars.x}} é:</span>
<strong>{{=resultado}}</strong>

Note que entre {{ e }} você pode colocar código Python ou apenas avaliar os resultados retornados pela action usando response.write com {{=chave}}

Bom, é mais ou menos isso que você vai precisar fazer bastando substituir o meucodigo.py por um ou mais módulos que preferir.

Qualquer dúvida diz ae.

Abraço

[http://www.cursodepython.com.br]]

Thassyo Pereira

unread,
Nov 6, 2011, 7:03:18 PM11/6/11
to python...@googlegroups.com
Bruno,

Obrigado. Era isto mesmo a minha dúvida.
 
Att.,
Thassyo Pereira
(91) 8118-4736

De: Bruno Rocha <rocha...@gmail.com>
Para: python...@googlegroups.com
Enviadas: Domingo, 6 de Novembro de 2011 20:53

Assunto: Re: [python-brasil] Rodar programa em página da web
Reply all
Reply to author
Forward
0 new messages