Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.024 X-Spam-Evidence: '*H*': 0.95; '*S*': 0.00; '*not*': 0.07; 'cc:addr :python-list': 0.09; 'scripts': 0.09; 'interpreter,': 0.09; 'python': 0.10; 'python.': 0.11; 'package,': 0.13; 'wed,': 0.15; '.py': 0.16; 'bind': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'received:mail- ig0-x22a.google.com': 0.16; 's/he': 0.16; 'unwrap': 0.16; 'wrote:': 0.16; 'comparing': 0.18; 'gui': 0.18; 'runs': 0.18; 'windows': 0.20; '2015': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'made.': 0.22; 'tkinter': 0.22; 'am,': 0.23; 'patch': 0.24; 'header:In-Reply-To:1': 0.24; 'script': 0.25; "doesn't": 0.26; 'sense': 0.26; 'message-id:@mail.gmail.com': 0.27; 'package.': 0.27; 'comparison': 0.29; 'tcl': 0.29; "i'm": 0.30; 'that.': 0.30; "we're": 0.30; 'code': 0.30; '15,': 0.30; 'normally': 0.30; 'maybe': 0.33; 'impression': 0.33; 'that,': 0.34; 'received:google.com': 0.35; 'files,': 0.35; 'options:': 0.35; "isn't": 0.35; 'but': 0.36; 'possible': 0.36; 'smaller': 0.36; 'subject:?': 0.36; 'subject:: ': 0.37; 'responsible': 0.37; 'really': 0.37; 'release': 0.37; "won't": 0.38; 'wrong': 0.38; 'end': 0.39; 'still': 0.40; 'some': 0.40; 'your': 0.60; 'matter': 0.63; 'flat': 0.63; 'is.': 0.63; 'needs,': 0.63; 'latest': 0.64; 'detail.': 0.66; 'else.': 0.66; 'talking': 0.67; 'jul': 0.72; 'chrisa': 0.84; 'etc,': 0.84; 'gtk': 0.84; 'pygtk': 0.84; 'to:none': 0.91; 'crucial': 0.91; 'edwards': 0.91; 'involved.': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=5uWY0ypbm9AOsTnII+JEzJBuf7WZ43419QrhjB6C//c=; b=XDjXUR9PfYPiqpH/ajvd/xYYdZCnJLmXkHY9BzfoaKmosNMZuMhKhPe8WnXrGCHIA2 SsWnhgNEOQUs65RKzVghKj/05DxT0vY+JcQIzNKGDYXxVn0k6pZR2GdIxhh/l5ctWKxG meW5VpZ20dOmAGm1EWzwNuFyRwW0g9CK2JZUtMxnK2Ox9z+TgI55oUkoh8caB+tSu9kh Yv9Lief40WHTA5EbQsYnb5XBp82UM8LBc+OeOS/BPFlaPA/e291CWdO3/+4WcNi+cLp/ cJK8rsWtJjJebvFG+2Uvpl/h+M+bTWep5jhuzuPzXyqepmzc3KpCdS47KkbppVgZBi/M uZpg== MIME-Version: 1.0 X-Received: by 10.107.165.142 with SMTP id o136mr29122968ioe.120.1436895788333; Tue, 14 Jul 2015 10:43:08 -0700 (PDT) In-Reply-To: References: <55A52915.8020909@gmail.com> Date: Wed, 15 Jul 2015 03:43:08 +1000 Subject: Re: beginners choice: wx or tk? From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 35 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1436895791 news.xs4all.nl 2886 [2001:888:2000:d::a6]:39184 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:93823 On Wed, Jul 15, 2015 at 3:28 AM, Grant Edwards wrote: > Comparing the size of Tcl+Tk and wx/Gtk doesn't really make sense > either since we're talking about MS Windows targets. Gtk isn't > involved. wxWindows on MS Windows runs on top of native widgets, not > on top of Gtk. Well, let's look at three straight-forward options: 1) Python program uses tkinter 2) Python program uses wxPython 3) Python program uses PyGTK 4) (optionally) Python program uses PyGObject Then you package your script up with all of its dependencies - Python interpreter, GUI toolkit, and everything that they depend on - and see how big it is. That's the comparison that matters; everything else is implementation detail. I had been under the impression that tkinter + Tcl + Tk + etc etc etc was smaller than wxPython + wxWidgets + etc etc etc, but it's entirely possible I'm flat wrong on that. It doesn't matter how Python is normally shipped, it matters how big it's going to be when you make that single-executable package. But I still think it's better to *not* do that, because you bind your deps to your code release cycle. If you make this kind of package, most people won't know how to unwrap it and get the Python scripts out of it, so the only thing they can do is upgrade to the latest release that you've made. So when Python 2.7.11 comes out, maybe with some crucial security patch that an end user needs, s/he has to wait for you to make a new package that incorporates the latest Python. If you ship just the .py files, you're responsible for your own code and nothing else. ChrisA