Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #100547

Re: How does one distribute Tkinter or Qt GUI apps Developed in Python

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Ben Finney <ben+python@benfinney.id.au>
Newsgroups comp.lang.python
Subject Re: How does one distribute Tkinter or Qt GUI apps Developed in Python
Date Thu, 17 Dec 2015 12:20:39 +1100
Lines 80
Message-ID <mailman.28.1450315255.30845.python-list@python.org> (permalink)
References <d8560cde-5ccb-4b91-b60c-adc8c1cb836c@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de 9rBDxds1yzGFNv1WAgkJ8Q+Xr0N0AAMsCPzV1D4u09QA==
Cancel-Lock sha1:zQBbXmvayQzq6+eWdC0KW4WDyDk=
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'subject:Python': 0.05; 'dependency': 0.07; 'distributing': 0.07; 'incompatible': 0.07; 'subject:How': 0.09; 'indeed,': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'system;': 0.09; 'python': 0.10; 'systems.': 0.11; 'up-to-date': 0.13; 'appropriate': 0.14; 'apps': 0.15; 'interpreter': 0.15; 'bytecode': 0.16; 'decent': 0.16; 'involved,': 0.16; 'mainstream': 0.16; 'received:80.91.229.3': 0.16; 'received:io': 0.16; 'received:plane.gmane.org': 0.16; 'received:psf.io': 0.16; 'scripts.': 0.16; 'subject:GUI': 0.16; 'subject:Tkinter': 0.16; 'windows:': 0.16; 'app': 0.16; 'gui': 0.18; 'controlled': 0.22; 'developers.': 0.22; 'problem:': 0.22; 'tkinter': 0.22; "user's": 0.22; 'file.': 0.22; 'trying': 0.22; 'help.': 0.23; 'seems': 0.23; 'installation': 0.23; 'bruce': 0.23; 'install': 0.25; 'header:User-Agent:1': 0.26; 'developers': 0.26; 'installed': 0.26; 'header:X-Complaints-To:1': 0.26; 'have,': 0.27; 'package.': 0.27; 'page.': 0.28; 'resolution': 0.28; 'tutorial': 0.29; "i'm": 0.30; 'system,': 0.30; 'minimal': 0.30; 'standards': 0.30; 'users.': 0.31; 'probably': 0.31; 'related': 0.32; 'computer.': 0.32; 'etc.)': 0.32; 'google,': 0.32; 'getting': 0.33; 'run': 0.33; 'useful': 0.33; 'common': 0.33; 'this?': 0.34; 'stable': 0.35; 'problem.': 0.35; 'but': 0.36; 'too': 0.36; 'should': 0.36; 'needed': 0.36; 'there': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; 'operating': 0.37; 'received:org': 0.37; 'missing': 0.37; 'support,': 0.37; 'no,': 0.38; 'version': 0.38; 'end': 0.39; 'means': 0.39; 'whatever': 0.39; 'area': 0.39; 'system.': 0.39; 'easily': 0.39; 'build': 0.40; 'to:addr:python.org': 0.40; 'still': 0.40; 'some': 0.40; 'software': 0.40; 'easy': 0.60; 'your': 0.60; "you'll": 0.61; 'programs': 0.62; 'different': 0.63; 'latest': 0.64; 'today.': 0.67; 'areas': 0.67; 'skip:\xe2 10': 0.70; '8bit%:40': 0.72; 'attractive': 0.79; 'old,': 0.83; '_o__)': 0.84; 'android.': 0.84; 'audience,': 0.84; 'received:125': 0.84; 'religion': 0.91; 'education,': 0.96
X-Injected-Via-Gmane http://gmane.org/
X-Gmane-NNTP-Posting-Host jigong.madmonks.org
X-Public-Key-ID 0xAC128405
X-Public-Key-Fingerprint 517C F14B B2F3 98B0 CB35 4855 B8B2 4C06 AC12 8405
X-Public-Key-URL http://www.benfinney.id.au/contact/bfinney-pubkey.asc
X-Post-From Ben Finney <bignose+hates-spam@benfinney.id.au>
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Xref csiph.com comp.lang.python:100547

Show key headers only | View raw


Bruce Whealton <futurewavewebdevelopment@gmail.com> writes:

> What seems to be blatantly missing is how this would be distributed.

Distributing programs so that recipients can run them is an ongoing
problem.

Operating systems arenecessarily involved, and since not every recipient
uses the exact same configuration of the exact same version of the exact
same operating system, the means of getting your program installed and
working on their computer will differn significantly.

> In the first mentioned tutorial from Lynda.com the Tkinter app was
> related to a web page. However, the browser cannot run Python Bytecode
> or Python Scripts.

Web applications are attractive for developers in large part because web
standards are hard-won oases of compatibility across different operating
systems.

It is no accident that operating system vendors (Microsoft, Apple,
Google, etc.) keep trying to carve out attractive incompatible features
and areas of their system, to ensure some applications using those
non-standard features will only run smoothly on the operating system
controlled by that vendor.

> Surely, one is going to want to create GUI apps for users that are not
> Python Developers.

Indeed, and toolkits like Tkinter make this refreshingly easy to do in a
way that works across all mainstream operating systems today.

What is not standardised is installation of software for end users.

> I would want to package in some way so that when launched, it installs
> whatever is needed on the end user's computer. How is this done? 

This is the “bootstrap” problem: a Python program is only useful once
there is a Python interpreter installed and working on the recipient's
system. You still need to get the appropriate version of Python
installed on that recipient's operating system.

You'll need to know your target audience, make decisions about the set
of operating systems you want to support, and build a package for each
one.

> Are there common practices for this?

Common to all mainstream operating systems? No, installation of software
is one major area that makes operating systems incompatible.


For GNU+Linux systems: Up-to-date Python is easily installed as a
dependency of your package. Target the version(s) of Python you know
your recipients will have, and declare a dependency in the operating
system package you make.

For OS X: There is an old, minimal Python installation, which is
probably too old for you to target. I am not aware of a good dependency
resolution system; you'll need to get the latest stable Python onto the
recipient's system with their help.

For iOS: I'm not aware of a good way to install Python programs on iOS.

For Android: There is a decent dependency system, but again I'm not
aware of a good standard way to have a Python program install onto
Android.

For MS Windows: There is definitely no good dependency resolution system
for you to use. You'll need to bundle a Python interpreter with your
program as a single installable file. This makes your program much
larger and redundant with any other such program on the system; this is
what Microsoft has doomed developers to work with.

-- 
 \      “If we have to give up either religion or education, we should |
  `\              give up education.” —William Jennings Bryan, 1923-01 |
_o__)                                                                  |
Ben Finney

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

How does one distribute Tkinter or Qt GUI apps Developed in Python Bruce Whealton <futurewavewebdevelopment@gmail.com> - 2015-12-16 16:03 -0800
  Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Christian Gollwitzer <auriocus@gmx.de> - 2015-12-17 01:29 +0100
  Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Rick Johnson <rantingrickjohnson@gmail.com> - 2015-12-16 16:45 -0800
    Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Denis Akhiyarov <denis.akhiyarov@gmail.com> - 2015-12-16 17:21 -0800
    Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2015-12-17 13:58 +0000
      Re: How does one distribute Tkinter or Qt GUI apps Developed in Python wxjmfauth@gmail.com - 2015-12-17 07:21 -0800
  Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Ben Finney <ben+python@benfinney.id.au> - 2015-12-17 12:20 +1100
  Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Michiel Overtoom <motoom@xs4all.nl> - 2015-12-17 12:01 +0100
  Re: How does one distribute Tkinter or Qt GUI apps Developed in Python Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2015-12-17 15:30 +0000
    Re: How does one distribute Tkinter or Qt GUI apps Developed in Python wxjmfauth@gmail.com - 2015-12-17 08:28 -0800

csiph-web