Gerar .exe de um sistema em django

903 views
Skip to first unread message

Celso Tonelli

unread,
Mar 18, 2011, 10:06:51 AM3/18/11
to django...@googlegroups.com
Bom dia,
 
Estou fazendo um sistema em django e precisava que ele funcionasse rodando local na maquina do cliente, mas estou tento dificuldade para gerar um .exe.
 
Tentei usar o py2exe e o pyinstaller mas não fui pra frente, alguém já conseguiu gerar um .exe de uma aplicação em django?
 
Obrigado pela ajuda,
Celso Tonelli

Rogério Bragil

unread,
Mar 18, 2011, 10:36:35 AM3/18/11
to django...@googlegroups.com
Bom dia!!

Celso, creio que não será possível, pois Django é uma aplicação web e necessita de um servidor de aplicações/web para funcionar. Ou seja, mesmo se você conseguir transformar em .exe, dificilmente o servidor de aplicações vai aceitar o formato.

Se o problema for "esconder" o fonte, creio que o uso de um obfuscador de código atenda a sua necessidade.


Abraço!!

Rogério Bragil


2011/3/18 Celso Tonelli <celsot...@gmail.com>
--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>



--
"Sola Scriptura, Solus Christus, Sola Gratia, Sola Fide, Soli Deo Gloria"

Rogério Fernando Bragil
Blog: http://www.bragil.net
Twitter: @bragil
Campinas-SP

Celso Tonelli

unread,
Mar 18, 2011, 10:39:20 AM3/18/11
to django...@googlegroups.com
Como só vai ser um acesso por vez eu pensei em executar com "python manage.py runserver", desta forma não precisaria de um servidor e coisa assim.
2011/3/18 Rogério Bragil <bra...@gmail.com>

Rogério Bragil

unread,
Mar 18, 2011, 10:42:34 AM3/18/11
to django...@googlegroups.com
Mesmo assim, eu não consigo enxergar como fazer isso... Posso estar enganado, mas não consigo visualizar... 

Qual o motivo desta sua necessidade? Seria para esconder o código, apenas para facilitar a execução ou outro motivo?


Abraço!!


2011/3/18 Celso Tonelli <celsot...@gmail.com>

Paulo Sampaio

unread,
Mar 18, 2011, 10:45:38 AM3/18/11
to django...@googlegroups.com
"python manage.py runserver" [2]

Acho que seu problema é o cliente não ter python instalado nem nada do
tipo correto?
Se é apenas para demonstrar, coloca teu sistema na internet. Você pode
rodar no seu pc de casa/trabalho, usar dyndns ou no-ip pra ter um
domínio gratuito e pronto. Dá um pouco de trabalho mas funciona bem e
te traz conhecimento.

Atenciosamente,
__
Paulo Sampaio
Desenvolvimento Web

Mario Augusto Mania

unread,
Mar 18, 2011, 10:44:18 AM3/18/11
to django...@googlegroups.com
Cara.. nao compensa.. vc pode ateh gerar... mas vai dar muito trampo.
A melhor coisa eh fazer, eh tentar rodar um webserver tipo nginx com o
django e o python, tudo dentro de um diretorio, com um atalho na area
de trabalho, executando o browser e chamando a url do aplicativo.

m3

Renne Rocha

unread,
Mar 18, 2011, 10:51:16 AM3/18/11
to django...@googlegroups.com
Dê uma olhada neste post: http://toolsforagile.com/blog/archives/51

Quando você empacota a aplicação com o py2exe (ou cx_freeze), o
interpretador Python vai estar embutido. Para rodar o servidor você
pode incluir algum servidor web desenvolvido em Python (ToofPy,
Tornado, etc).

Dá um pouco de trabalho configurar a aplicação conseguir rodar, mas
é perfeitamente viável. Para determinados tipos de aplicação pode ser
interessante ter essa opção. Para um cliente que não quer gastar com
infra de servidor, é só no início do dia alguém iniciar a aplicação e
todos os outros computadores da rede podem acessá-la.

Eu ainda não fiz isso, mas está na minha lista de coisas para tentar
fazer... mas é possível sim...


2011/3/18 Rogério Bragil <bra...@gmail.com>:

Celso Tonelli

unread,
Mar 18, 2011, 10:52:03 AM3/18/11
to django...@googlegroups.com, Renne Rocha
Vou explicar melhor o problema hehe...
Preciso fazer minha aplicação rodar offline, sem internet e sem rede. Utilizando o sqlite mesmo.
Acho que me expressei mal quando falei em .exe, na verdade o que eu preciso é uma forma fácil de instalar o django, a minha aplicação local e todas as dependencias dela.
Eu sei que preciso isntalar o python, o django, o PIL, minha aplicação e outras dependencias na maquina do cliente. O que eu queria saber é como fazer um instalador que faça isso de forma simples e fácil.
Obrigado!


2011/3/18 Renne Rocha <renne...@gmail.com>

Erle Carrara

unread,
Mar 18, 2011, 1:06:42 PM3/18/11
to django...@googlegroups.com
Celso,

Veja se o Fabric (http://docs.fabfile.org) e o comando "pip install -r requirements.txt" podem te ajudar. Ai seria só levar o "pacote" para o cliente e rodar um comando "fab deploy" que já instalaria django, PIL, sqlite3, etc... na maquina do cliente, também já criaria um atalho na área de trabalho que executaria o "python manage.py runserver".

Isso só não é muito legal se você precise que o cliente instale sua aplicação por conta própria, sem você.

- - -
Erle Carrara
<carrar...@gmail.com>

Celso Tonelli

unread,
Mar 18, 2011, 1:11:36 PM3/18/11
to django...@googlegroups.com
Isso só não é muito legal se você precise que o cliente instale sua aplicação por conta própria, sem você.
 
O problema é que é bem isso q eu preciso hehe. Eu queria que o cliente instalasse tudo soiznho.
 
Obrigado de qualquer forma.

2011/3/18 Erle Carrara <carrar...@gmail.com>

Rafael Angelo

unread,
Mar 18, 2011, 1:18:06 PM3/18/11
to django...@googlegroups.com

Acho que seria interessante alugar um servidor como muitos fazem e montar o seu servidor próprio assim qualquer cliente já acessa seu servidor diretamente.

Não precisa instalar nada, apenas tendo um browser atualizado para rodar a aplicação.

Existem dezenas de serviços especializados nisso, outros você pode alugar até um VPS criar sua aplicação em cima dele e vender até mesmo o espaço que o seu cliente está utilizando.

Eu trabalho dessa forma, acho que é uma maneira bem mais viável e assim você tem segurança até no código e remotamente faz manutenção a hora que precisar sem a necessidade de ir ao cliente prestar qualquer manutenção ou atualização.

Atualmente trabalho com um CentOS como servidor de email e estou desenvolvendo a aplicação no mesmo, tenho total controle do servidor.

Celso Tonelli

unread,
Mar 18, 2011, 1:21:06 PM3/18/11
to django...@googlegroups.com
Rafael, como eu disse, gostaria de rodar o sistema offline, sem internet.
 
 
2011/3/18 Rafael Angelo <rafael....@gmail.com>

Rafael Angelo

unread,
Mar 18, 2011, 1:35:04 PM3/18/11
to django...@googlegroups.com

Eu rodo Off com Ubuntu.

Até mesmo no python manager.py runserver para testar.

 

Eu lido com Ubuntu em ambiente de produção, faço testes com o pessoal aqui do escritório na rede usando o comando python manager.py 0.0.0.0:8080

 

Acho que dependendo da finalidade da pra adaptar alguma coisa,

Para instalar os pacotes no Ubuntu é bem simples, nada de 2 minutos para baixar e dar o comando de install.

Fora os apt-get que automatizam o processo, já em Windows eu já sou um pouco mais leigo, nunca nem abri um cmd para executar algum comando python.

Creio que não seria viável levar um pacote de instalação para fazer demonstração isso pode acabar liberando seu código, seria interessante andar com um notebook para demostração.

 

Pelo menos é assim que eu faria.

 

Em algum lugar eu vi uma aplicação em apache rodando python, mas não sei como é não parei para ler direito.

Gabriel SERPRO

unread,
Mar 18, 2011, 1:41:39 PM3/18/11
to django...@googlegroups.com
Se você quer que o cliente seja capaz de fazer tudo off-line, TALVEZ, seja possível utilizando o Jython.

Como, em tese, o cara tem o Jre instalado, então pode ser que funcione para ficar totalmente off-line.

Mas é uma ideia: como hoje qualquer pessoa, praticamente, tem acesso a internet eu sempre coloco em um servidor dedicado e a pessoa acessa (é o mais simples ever).

Boa Sorte!
Reply all
Reply to author
Forward
0 new messages