Part 4: Installing Prerequisites - Python, PyQt and PyCharm

Your first Python application for this series...

Your first Python application for this series...

Although in Part 5 of Developing Cross Platform Application using Qt, PyQt and PySide : GUI Application Development I already gave detailed steps on how to create Qt main window application, some readers still find it confusing. And someway I think they were right: that article was too confusing that it tries to compare C++ Qt, PyQt and PySide altogether. Some readers who asked me about how to start PyQt application, find that article is not much of a help. Therefore, in this article I am going to revisit that article and create a new one with this focus in mind : using PyQt 4, Qt Designer and PyCharm. I use Windows 8.1 to develop this application. For those who use other Operating System, feel free to adjust your working environment as needed.

The application itself, code named Northerd, as already mentioned in previous articles, is a productivity desktop application. It will sit in your system tray and assist you with any productivity tasks that I can think of and useful for my daily work.  It will have main window (of course), that how to build it, will be explained in great detail in this article.

If you are regular readers of this blog, I bet you have already know that the longest and completed tutorial series in this blog is the Flask Biography Application. What you are reading now, is future article series that will be in the same long and completeness as that Flask application. I hope you enjoyed this article series as much as you enjoyed The Flask tutorial series!

Great, lets get started!


Part 3: [Addendum] How Python Organize Your Application Code


Modularization of Python Code (Image taken from here)

Modularization of Python Code
(Image taken from here)

I visioned that this article will be your first article in how to properly start coding in Python. And lets be brief in this: you are going to understand what does it means by the following three ways of organizing Python code:

  1. Module
  2. Package
  3. Class

All, through the eye of a Python programmer.

Those three terms are your fundamental key in understanding how to properly organize your Python application.

Great. Lets get started!


Using Jetbrains PyCharm Community Edition for Your Python IDE

Great chance are, that you will going to love this cross platform Python IDE

Great chance are, that you will going to love this cross platform Python IDE 

As with any open source software development platform, Python was blessed (or cursed?) with myriad of ways to develop program written on it: "With what IDE/Text Editor should you develop your next killer Python application?". A free and open policy, does initiate and keep energetic programmers to stay awake in this awesome Python world. But for newcomer, choosing the right IDE can become a daunting task. Add that with the phenomenon of epic war between IDE/Editor community, and you may find your way to choose a Python IDE not as trivial as it is in .NET development: any Visual Studio contender anyone? Laughing

Hereby, I started a new line of series on this blog that specifically review Python IDE at my disposal. Although it's not easy to stay away from subjectivity of certain IDE, but I am trying to do so, by deciding several important features that must be existed in a Python IDE: its overall value will be increase if it posses these features.

This article will also serve as an important article for Python for Beginner series: I believe coding Python in an IDE will bring much more advantages for beginner out there. Great. Let's start the review with a cross platform IDE : PyCharm from Jetbrains. (More)

Python for Beginner #1 : Get to Know What This is All About

I wish I start coding at the age of ... 4

I wish I start coding at the age of ... 4
(image taken from here)

UPDATE: I have this interesting question by one of my blog reader, Riky Lutfi Hamzah, via email : "Sometimes, I find it difficult to focus when learning something, including Python. I am very interested in Python and web development, but when I tried to start, I always tempted by other languages​​. Is there anything else that you can show to me, of why I have to learn Python? And how to focus on Python technology to developing applications?". I answer this question in the last section of this article. Hope it helps!

After almost half year blogging in this cool Pythonblogs platform, I realize that I never take into account that some visitors maybe a total beginner to Python. Or even, a total beginner in software development in general. I think I am enjoying pouring all my experience in Python and rather neglect the thought, "What happen if persons who are totally new to software development, somehow got stumbled to my blog?". I realize this thought, when in my previous article is the first time I officially talk about what is Python module and Python package: I neglect a very important concepts of Python software development.

If you reading this, chance are that you are in your initial process of trying to master software development in general, or Python software development in particular. I will use this series to publish a very quick article, but still highly practical, that if applied, will help you master this broad topic of software development process. I am not a lecture, got to remind you though. But, I always have this keen interest of trying hard to transfer the passion of developing software and pour all of my gathered knowledge to anyone who have the potential to learn programming.

There will be a general concept of software development for sure. But Python will always be the main programming language being use to demonstrate the discussed concept. Although having said this, I may have a sidebar that talk how other programming language (that I know of) implement it. And, as always, I will make sure that each chapter come with a code example that you can clearly follow and test in your own computer.

Great. What are we waiting for? Let's do this!


Copyright(c) 2017 -
By using this website, you signify your acceptance of Terms and Conditions and Privacy Policy
All rights reserved