Witam. Czy istnieje jakieś łatwe w obsłudze narzędzie dla Windows x64, które potrafi wygenerować plik wykonywalny .exe ze skryptu Pythona .py? Dużo się naczytalem o py2exe, ale z tego co wizę instalki są dla systemów 32-bitowych.
Programy 32bitowe (IA32) działają też na 64bitowych (AMD64/EM64T) systemach (zdarzają się wyjątki ale zwykle tylko w specyficznych przypadkach).
PS. Na pierwszej stronie z Google pod hasłem “py2exe” w dziale Download widzę wersje 64bitowe.
Próbowałem z py2exe na pdostawie tutriala (http://www.py2exe.org/index.cgi/Tutorial), ale ani z command line ani z GUI nie dało rady.
CMD wywala:
running install
running build
running install_egg_info
Removing F:\python\Lib\site-packages\UNKNOWN-0.0.0-py2.7.egg-info
Writing F:\python\Lib\site-packages\UNKNOWN-0.0.0-py2.7.egg-info
w IDLE GUI dla kodu:
from distutils.core import setup
import py2exe
setup(console=[“hello.py”])
wywala:
Traceback (most recent call last):
File “F:\python\setup.py”, line 3, in
setup(console=[“hello.py”])
File “F:\python\lib\distutils\core.py”, line 140, in setup
raise SystemExit, gen_usage(dist.script_name) + “\nerror: %s” % msg
SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] …]
or: setup.py --help [cmd1 cmd2 …]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied
Oczywiście, że nie działa Pobrałem z tej strony jedyną dostępną instalkę dla Windows, lecz po wykonaniu skryptu:
Error: PyInstaller for Python 2.6+ on Windows needs pywin32.
Please install from http://sourceforge.net/projects/pywin32/
Czy w środowisku Python da się w jakiś łatwy i bezproblematyczny sposób utworzyć exe?
Tak. Przy pomocy cx_freeze.
Przykładowy plik setup.py:
# coding: utf-8
from cx_Freeze import setup, Executable
exe = Executable(script="my_app.pyw",
base="Win32GUI",
icon="my_app.ico",
compress=True,
appendScriptToExe=True,
appendScriptToLibrary=False,
copyDependentFiles=True)
setup(name="MyApp",
version="1.0",
description="This is my first app",
author="dp",
author_email="dp@example.com",
executables=[exe],
options={'build_exe': {'excludes': ['tcl', 'ttk', 'tkinter'],
'packages': [],
'include_files': ['license.txt'],
'compressed': True,
'create_shared_zip': False}})