Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know basic python and i love it. I want to learn how to develop and publish Ubuntu applications in python but don't know where to start (I mean "the standard ways" to do so). It would be good if you can also suggest best GUI toolkit to learn. I would prefer you to answer in the perspective of python-3.4. Thank you in advance.

share|improve this question

Developing applications in Linux isn't really a distro-specific endeavor. Your software, once built, just needs to be packaged for the distros you care about (RPMs for distros that use yum, debs for distros that use apt, or just wheels via PIP). Unless you're pulling in strange dependencies (which you should avoid anyway), you will not need to do any extra work.

There are tons of StackExchange threads on the merits of various GUI toolkits for Python. I will not duplicate that information here.

Python 3.4 is standard with Ubuntu 14.04, so simple applications will use it by default with a #!/usr/bin/env python3 shebang. More complex applications can be developed under Python 3.4 using virtualenv and/or virtualenvwrapper, then deployed with Python 3.4 via requirements.txt or similar.

share|improve this answer
AFAIK, Python 2.7 is still default in 14.04. – Javier Rivera Jul 3 '14 at 6:59
According to this AskUbuntu answer, 3.4 is installed by default. I don't have an Ubuntu install handy to test against, unfortunately. Your comment did remind me that the shebang would need to be python3 though, thanks (answer edited). – dfarrell07 Jul 3 '14 at 15:08

The traditional way to make a GUI using python is Tkinter, How ever there are a lot of libraries which listed here

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.