Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 33ab753

Browse filesBrowse files
committed
Add comparison table and py2exe notes on freezing topic
1 parent 28f993a commit 33ab753
Copy full SHA for 33ab753

File tree

Expand file treeCollapse file tree

1 file changed

+70
-12
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+70
-12
lines changed

‎docs/shipping/freezing.rst

Copy file name to clipboardExpand all lines: docs/shipping/freezing.rst
+70-12Lines changed: 70 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,100 @@ Many applications you use every day do this:
88

99
- Dropbox
1010
- BitTorrent
11-
-
12-
11+
- ...
1312

1413
.. todo:: Fill in "Freezing Your Code" stub
1514

15+
16+
17+
Comparison
18+
----------
19+
20+
Solutions and platforms/features supported:
21+
22+
=========== ======= ===== ==== ======== ======= ============= ============== ==== =====================
23+
Solution Windows Linux OS X Python 3 Licence One-file mode Zipfile import Eggs pkg_resources support
24+
=========== ======= ===== ==== ======== ======= ============= ============== ==== =====================
25+
bbFreeze yes yes yes no MIT no yes yes yes
26+
py2exe yes no no no MIT yes yes no no
27+
pyInstaller yes yes yes no GPL yes no yes no
28+
cx_Freeze yes yes yes yes PSF no yes yes no
29+
=========== ======= ===== ==== ======== ======= ============= ============== ==== =====================
30+
31+
.. todo:: Add other solutions: py2app
32+
33+
.. note::
34+
Freezing Python code on Linux into a Windows executable was only once
35+
supported in PyInstaller, `but later dropped
36+
<http://stackoverflow.com/questions/2950971/cross-compiling-a-python-script-on-linux-into-a-windows-executable#comment11890276_2951046>`_.
37+
38+
.. note::
39+
All solutions need MS Visual C++ dll to be installed on target machine.
40+
Only Pyinstaller makes self-executable exe that bundles the dll when
41+
passing ``--onefile`` to `Configure.py`.
42+
1643
Windows
17-
:::::::
44+
-------
45+
46+
bbFreeze
47+
~~~~~~~~
48+
49+
Prerequisite is to install :ref:`Python, Distribute and pywin32 dependency on Windows <install-windows>`.
1850

51+
.. todo:: Write steps for most basic .exe
1952

2053
py2exe
21-
------
54+
~~~~~~
2255

56+
Prerequisite is to install :ref:`Python on Windows <install-windows>`.
2357

58+
1. Download and install http://sourceforge.net/projects/py2exe/files/py2exe/
2459

25-
OSX
26-
:::
60+
2. Write setup.py (`List of configuration options <http://www.py2exe.org/index.cgi/ListOfOptions>`_)::
2761

62+
from distutils.core import setup
63+
import py2exe
2864

29-
py2app
30-
------
65+
setup(
66+
windows=[{'script': 'foobar.py'}],
67+
)
68+
69+
3. (Optionally) `include icon <http://www.py2exe.org/index.cgi/CustomIcons>`_
3170

71+
4. (Optionally) `one-file mode <http://stackoverflow.com/questions/112698/py2exe-generate-single-executable-file#113014>`_
3272

73+
5. Generate `.exe` into `dist` directory::
3374

75+
$ python setup.py py2exe
76+
77+
6. Provide the Microsoft Visual C runtime DLL. Two options: `globally install dll on target machine <https://www.microsoft.com/en-us/download/details.aspx?id=29>`_ or `distribute dll aloneside with .exe <http://www.py2exe.org/index.cgi/Tutorial#Step52>`_.
3478

3579
PyInstaller
36-
-----------
80+
~~~~~~~~~~~
81+
82+
Prerequisite is to have installed :ref:`Python, Distribute and pywin32 dependency on Windows <install-windows>`.
83+
84+
- `Most basic tutorial <http://bojan-komazec.blogspot.com/2011/08/how-to-create-windows-executable-from.html>`_
85+
- `Manual <http://www.pyinstaller.org/export/d3398dd79b68901ae1edd761f3fe0f4ff19cfb1a/project/doc/Manual.html?format=raw>`_
3786

3887

88+
OSX
89+
---
90+
91+
92+
py2app
93+
~~~~~~
94+
95+
PyInstaller
96+
~~~~~~~~~~~
3997

4098

4199
Linux
42-
:::::
100+
-----
43101

44102

45103
bbFreeze
46-
--------
104+
~~~~~~~~
47105

48106
PyInstaller
49-
-----------
107+
~~~~~~~~~~~

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.