Create New Project
Prior to this course, most of our Python projects consisted of a few source files, all contained in the same directory. However, as projects get larger, it can be very difficult to keep track of all the various source code files. In addition, we’ll want to keep our source code separate from other files, such as unit tests and the output from various tools we use. So, let’s look at how we can create a more professional structure for our Python “Hello Real World” project.
Python, unlike many other languages, does not really have a standard structure for the source code of a professional project. There are many reasons for this, but most notably is Python’s focus on being completely flexible and not enforcing any particular structure upon developers. However, this flexibility can make it difficult for Python developers to move between projects or organizations if they use vastly different project structures.
So, in this course, we’re going to build a directory structure that is similar to those used by other object-oriented programming languages such as Java and C#. This structure may also be found in many open source projects written in Python.
Source and Test Folders
First, find the
python folder in the Codio file tree to the left. We’ll create three folders inside of that folder:
src- this folder will store the source code for our application.
test- this folder will store the unit tests for our application.
reports- this folder will store reports generated by various tools we’ll use later in this module.
Once you’ve created those three folders, you should see a structure similar to this:
As we work through this example, we’ll slowly populate these folders to build our application.
Creating a Package
Next, let’s create a package to store our Python source code. We’ll discuss what a package is later in this course, but in essence packages are a way to organize large programs by grouping similar classes together.
In Python, to create a package we must simply perform two steps:
- Create a directory in our
srcfolder to store the Python source files, or modules that will be in this package
- Create a
__init__.pyfile in that folder to tell Python to treat this directory as a package.
So, let’s create a package called
hello for our application. First, we’ll need to create a directory called
hello in the
src directory we created earlier, and then we’ll create a blank file called
__init__.py in that directory. Once we are done, we should see this structure:
In most cases, the
__init__.py file can be left blank. However, it is executed each time the package is used, so we can include some code in that file to help initialize the package. For now, let’s put the following line of code in the
__init__.py file in the
Later, when we execute our application, this will help us see when the package is loaded and how it is used.
You can read more about creating Python packages and modules in the Python Documentation