Introduction and setup
Modules and packages
Virtual environments and package management
Course Project: building a package
Pyinstaller
Wrapping up

Course introduction

Hi there! Welcome to Python Fundamentals II: a course on creating modules and packages, virtual environments, and package management. Although this course is a seamless continuation of Python Fundamentals I: Python course for beginners, it can easily be followed by anyone with a decent base-level knowledge of the language obtained elsewhere.

My name is Erik, and I’ll be your teacher throughout this course. If you have any questions, get stuck, or find an error (I’m not perfect!): please use the contact page to get in touch.

About this course

This course teaches you to divide your code into modules and packages. Structuring your code into modules and packages makes maintaining, extending, and reading your code easier.

Besides that, I will teach you the mechanics of a Python project. These mechanics are not that hard, and it pays to understand them properly. You’ll save countless hours wrestling with Pip, virtual environment issues, package versions, and dependency management problems by learning this stuff properly.

We’ll take it slow and step by step, and I’ll do my best not to skip any important steps. If I do, please let me know through the contact form, so I can improve the course for all those other learners that will follow in your footsteps.

About the course system

Before we begin, I’d like to offer a short explanation of how this course system works. You’ll notice that there are three important concepts in this course:

  1. Sections, which chop up the course into large, mostly related parts.
  2. Lessons explain a single concept. Lessons are often split into multiple topics to make them easier to grasp.
  3. Topics are the most specific kind of sections, they deal with a very specific subject.
  4. Quizzes test your knowledge.

Once you’re done with a topic, you should click on ‘Mark Complete.’ If you complete all the topics in a lesson, you can do the same for the lesson. Don’t worry; you can always go back and mark things as not completed if you wish. It only records for yourself and the course system that you finished these subjects. I’m not trying to enforce a certain learning pace, and I won’t enforce the order in which you learn these topics.

One caveat to look out for is starting a lesson with multiple topics. It will have a ‘mark complete’ button, but you probably don’t want to use it because it marks the entire lesson as complete while you haven’t looked at the topics yet. Instead, click the first topic in the lesson. The system will guide you through the rest of the topics from that point forward.

Course certificate

This course will earn you a certificate of completion in the form of a PDF file that you can print yourself. The certificate can be downloaded once you’ve marked all the lessons and topics as complete.

Installation instructions

This course includes installation instructions for Python 3, in case you haven’t installed it yet. These are the same instructions from Python Fundamentals I, so feel free to skip them.

Visual Studio Code introduction

In addition to the installation instructions, I also included the introduction to Visual Studio Code from Python Fundamentals I. If you followed that course, simply skip it; it’s there as a courtesy to those who didn’t purchase Python Fundamentals I.