I'm looking for a way to ship the Python interpreter with my application (also written in Python), so that it doesn't need to have Python installed on the machine.
I searched Google and found a bunch of results about how to embed the Python interpreter in applications written in various languages, but nothing for applications written in Python itself... I don't need to "hide" my code or make a binary like cx_freeze does, I just don't want my users to have to install Python to use my app, that's all.
-
1Duplicate: stackoverflow.com/questions/106725/…, stackoverflow.com/questions/2933/an-executable-python-app, stackoverflow.com/questions/1950218/…, etc.S.Lott– S.Lott2010年03月14日 12:13:34 +00:00Commented Mar 14, 2010 at 12:13
-
finally yes, but at first i wasn't looking to freeze my app into a binary, even if it finally apeared to be the easiest solution to distribute my app.mdeous– mdeous2010年03月14日 14:33:54 +00:00Commented Mar 14, 2010 at 14:33
5 Answers 5
For distribution on Windows machines, look into py2exe
py2exe is a Python Distutils extension which converts Python scripts
into executable Windows programs, able to run without requiring a
Python installation
For the MacIntosh, there is py2app (but I'm not familiar with it)
And for both Windows and Linux, there's bbfreeze or also pyinstaller
2 Comments
You need some sort of executable in order to start Python. May as well be the one your app has been frozen into.
The alternative is to copy the executable, library, and pieces of the stdlib that you need into a private directory and invoke that against your app.
Comments
Making a frozen binary using a utility like cx_freeze or py2exe is probably the easiest way to do this. That way you only need to distribute the executable. I know that you might prefer not to distribute a binary, but if that is a concern you could always give users the option to download the source and run from an interpreter.
Comments
For Windows: py2exe
For Linux: Freeze
Full disclosure: I've only read about these, never used them. Perhaps some who has can comment?
Comments
Have a look at http://www.python-packager.com, it is a free webservice for building redistrutable python binaries based on pyinstaller. I've used it to build apps for Windows and it is very easy to use and also works with GUI apps.