Python Modules & Packages
Creating and using modules, packages, import system, and virtual environments.
Import Basics
# Import module
import math
math.sqrt(16)
# Import with alias
import numpy as np
# Import specific
from math import sqrt, pi
Creating Modules
# mymodule.py
def greet(name):
return f"Hello {name}"
# main.py
import mymodule
print(mymodule.greet("Alice"))
Package Structure
# Folder structure
mypackage/
__init__.py
module1.py
module2.py
# Import from package
from mypackage import module1
__init__.py
# mypackage/__init__.py
from .module1 import function1
from .module2 import function2
__all__ = ["function1", "function2"]
Relative Imports
# In subpackage/module3.py
from . import module4
from .. import module1
Module Variables
# Check if run directly
if __name__ == "__main__":
print("Running directly")
# Module name
print(__name__)
Virtual Environments
# Create venv
python -m venv myenv
# Activate Windows
myenv\Scripts\activate
# Activate Linux/Mac
source myenv/bin/activate
# Install packages
pip install requests
# Freeze
pip freeze > requirements.txt
Import Variations
# Import all
from math import *
# Import with rename
from math import sqrt as square_root