Reputation: 53
I started using GTK 3 with Python. How could I make an executable Windows file from my GTK 3 Python source using PyInstaller, cx_Freeze or py2exe?
I tried a lot of answers from Stack Overflow and many other web pages, but none worked.
I tried to make it with PyInstaller (I think it could be the easiest way) and my source code looks like:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class ButtonWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Button Demo")
self.set_border_width(10)
hbox = Gtk.Box(spacing=6)
self.add(hbox)
button = Gtk.Button.new_with_label("Click Me")
button.connect("clicked", self.on_click_me_clicked)
hbox.pack_start(button, True, True, 0)
button = Gtk.Button.new_with_mnemonic("_Open")
button.connect("clicked", self.on_open_clicked)
hbox.pack_start(button, True, True, 0)
button = Gtk.Button.new_with_mnemonic("_Close")
button.connect("clicked", self.on_close_clicked)
hbox.pack_start(button, True, True, 0)
def on_click_me_clicked(self, button):
print("\"Click me\" button was clicked")
def on_open_clicked(self, button):
print("\"Open\" button was clicked")
def on_close_clicked(self, button):
print("Closing application")
Gtk.main_quit()
win = ButtonWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
But I get the following error:
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "c:\python34\lib\gi\__init__.py", line 102, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available
gtk returned -1
What shall I do with this or how can I make an executable in py2exe or cx_Freeze?
Upvotes: 4
Views: 3671
Reputation:
You should just be able to do pip install cx_Freeze
on Windows. Or you could go to their official website cx_Freeze.
import cx_Freeze
executables = [cx_Freeze.Executable("file.py")]
cx_Freeze.setup(
name="WhatEverYouWantToNameIt",
options={"build_exe": {"packages":["gi"]}},
executables = executables
)
Open command prompt in the file location of your program. On Windows, you should just have to Shift + <left-click the folder and click open command window here. Once that opens up, type python setup.py build
. If you get an error stating that Python is not in your path, then give the full path. For example, on Windows, with Python 3.4, you would do:
C:/Python34/python setup.py build
If you're on a Mac, then you would do:
python setup.py bdist_dmg
Once it's done, come back and tell me if it works. If it doesn't work, just give me the error message, and I'll fix the problem. Good luck!
Upvotes: 3