views:

42

answers:

2

My application uses many Python libraries (Django, Twisted, xmlrpc). I cannot expect that the end user has the Python installed with all needed libraries.

I've created a fancy installer for my application using Inno Setup, but I don't think that it is a good solution to execute 5 other setup programs from my installer. It would be annoying to the user to click "Next" button 15 times. Is there any way to do that quietly?

+1  A: 

May be you should try to make your application running standalone with py2exe or pyInstaller.

It will generate an application which doesn't expect anything from the target machine. You 'll have an exe file that the user can execute without knowing that Python is used. The Python interpreter and the needed libs will be included.

Then you can use Inno Setup to make a windows installer that will copy all the needed files.

I am not sure if Django is very easy to include in such a standalone version.

I hope it helps

luc
I already tried to use py2exe but unfortunately there were some problems with Django (especially with manage.py)
mack369
I heard that it is not as simple as it could be. There are some examples on the web. Someone says that he succeed with cx_freeze. But I imagine that you've already read all this stuff
luc
A: 

Perhaps you can set the whole application and libraries up in a virtual environment and then package all that up together. I've never tried this however!

Kylotan