Getting Ready: Building Your Python Learning Environment
Before we write a single line of Python code, we need to set up our working environment with the right tools, properly configured, so that our learning experience is smooth, efficient, and enjoyable.
In this post, we’ll walk you through everything you need to get started with Python the right way. That includes downloading and configuring Python itself, installing Visual Studio Code (VS Code), extending it with useful plugins, and giving your terminal a productivity boost with Warp, Oh My Zsh, and Powerlevel10k (or Oh My Posh, if you prefer). We’ll also show you how to set up nerd fonts, which are cool for displaying icons and styling your terminal correctly.
Whether you're on macOS, Windows, or Linux, by the time you finish this guide, you'll have a professional-grade development environment tailored for Python work. You’ll not only feel ready to dive into scripting, automation, or network engineering tasks, but you’ll also enjoy the ride!
1. Downloading and Installing Python
To begin the installation process, we'll need to download Python from its official website, the most reliable and secure source for obtaining the Python programming language interpreter. This ensures you get the latest stable release with all security patches:
Choose the latest Python 3.x version (not 2.x).
On Windows, ensure that you check the box "Add Python to PATH" during installation.
On macOS, Python 3 may already be installed, but often outdated. Use
brew:
# macOS with Homebrew
brew install pythonIn case you don't have Homebrew installed on your Mac (I doubt it!), here you are: https://brew.sh/ (it's super easy to set up).
You can also download Python as a macOS 64-bit universal2 installer directly from the official website:


For Ubuntu
The custom PPA repository gives you access to multiple Python versions. For example, you can install Python 3.12 or 3.13 alongside your system's default version.
Note: Installing from a custom PPA may conflict with system dependencies. Ensure thorough testing before using it in production environments.
1. Install Python Dependencies
First, we'll install the core system tools needed for package management.
apt install software-properties-common -y
2. Add the deadsnakes PPA
Add the repository to get access to the latest Python versions and run a package list update:
add-apt-repository ppa:deadsnakes/ppa -y
apt update
3. Install Python 3.12 (or newer):
Now we'll install Python 3.12 (or newer) using the repository we just added.
apt install python3.12 -y
2. Verifying Python Installation
Once installed, open your terminal and type:
python --versionor
python3 --versionYou should see something like:
Python 3.12.10Next, confirm pip is installed:
pip --versionOn my Mac, this looks like:

Don't worry, we're not done yet! We'll dive deeper into Python setup best practices in the next post.
3. Installing Visual Studio Code (VSCode)
Visual Studio Code (VSCode) is a free, open-source, and highly extensible code editor created by Microsoft. Think of it as your command center for writing and managing code. Clean, powerful, and customizable.
For network engineers, it becomes even more valuable because it lets you:
Write and test Python scripts that interact with routers and switches.
Work with config files, templates, and APIs, all in one place.
Run scripts directly inside the editor using built-in terminal support.
Use extensions to help with linting, auto-complete, formatting, debugging, and even working with YAML, JSON, NETCONF, RESTCONF, and more.
Whether you're automating network changes, parsing logs, or building telemetry dashboards, VSCode makes your development workflow smoother and more productive.

Key Features You'll Use Right Away
Syntax highlighting: Makes your code easier to read.
Linting & IntelliSense: Warns about mistakes and helps you autocomplete code.
Built-in terminal: Run your Python code without switching windows.
Extensions: Add features specific to Python, Git, SSH, Cisco IOS highlighting, and more.
Multi-file support: Manage full projects with multiple scripts or folders.
VSCode is not just for "software developers." It is lightweight, flexible, and perfect for Python. Get it here:
Once installed:
Open VSCode
Hit
Ctrl+Shift+X(or click the Extensions icon)Search for Python and install Microsoft’s official extension
4. Recommended VSCode Extensions for Python Work
Visual Studio Code Extensions are small software add-ons that supercharge the editor with new features, languages, tools, or integrations. Think of them as plugins that let you shape VS Code into your ideal development environment.
For example, with just a few clicks, you can add Python support, YAML linters, Bash and PowerShell highlighting, or even extensions that allow real-time interaction with network devices via SSH. Instead of bloated software that tries to do everything, VS Code keeps things fast and modular, letting you install only what you need, when you need it.
For network engineers working with Python, VS Code extensions unlock massive benefits. The Python extension by Microsoft brings code completion, automatic formatting, inline debugging, virtual environment management, and even Jupyter notebook support.
You can also install GitLens to track your code changes, REST Client to test APIs directly inside the editor, or Cisco IOS Syntax and Junos extensions to colorize network config files. This modularity gives you a workflow that’s sharp, efficient, and tailored to the real work of modern network automation, without unnecessary complexity.
These make your life easier:
Python (official)
Pylance (intelli-sense, type checking)
Jupyter (for notebooks)
autoDocstring (generate docstrings)
GitLens (if using Git)
Prettier or Black (code formatting)
Remote - SSH (to connect to network devices via jump hosts)
You can find them all by searching in the Extensions marketplace:

And these will completely change how you interact with Visual Code Studio visually, making your experience really enjoyable and stress-free:
Over time, you'll discover and experiment with many other extensions, deciding which ones deserve a place in your active collection.
By the end, you'll have an awesome Visual Studio Code setup!

Other Python-Friendly Editors (But Not Covered Here)
While Visual Studio Code is the focus of this setup guide due to its balance of simplicity, power, and extensibility, it’s worth noting that it’s not the only option for Python development.
Tools like PyCharm (especially the Community Edition) offer a full-featured Python IDE experience with built-in support for debugging, testing, virtual environments, and intelligent code assistance. It's particularly favored in more advanced Python projects or among developers who prefer an all-in-one IDE rather than a lightweight editor.
Other notable alternatives include Sublime Text, a fast and minimal editor with solid plugin support, and JupyterLab, which is ideal for data science and interactive Python sessions using notebooks.
For those who prefer working entirely in the terminal, editors like Neovim or Emacs (with Python-specific plugins) can be incredibly powerful, but they come with a steeper learning curve. While all of these have their place, we’ll stick with VS Code in this series to ensure accessibility, consistency, and ease of use for all readers, especially those just getting started.
5. Install Warp Terminal (or Use Your Preferred One)
Warp (Mac/Linux) is a modern terminal with IDE-like features:
Meet Warp: A Next-Gen Terminal Built for Productivity
Warp is a modern, reimagined terminal designed to make your command-line experience more productive, intuitive, and user-friendly, especially for developers. Unlike traditional terminals that treat text as a continuous stream, Warp introduces a block-based interface, where each command and its output are grouped together in visually distinct sections. This makes it significantly easier to navigate, debug, and revisit previous commands without scrolling through an endless wall of text.
Beyond its visual improvements, Warp is fully GPU-accelerated, responsive, and integrates tightly with your system clipboard, shell history, and code editing workflows. It supports modern features out of the box, like autosuggestions, syntax highlighting, and autocomplete, and it even includes collaborative features like shared terminal sessions, making pair programming or team debugging sessions easier.

Highly Customizable and Built for Developers
Warp doesn’t just look different, it’s deeply customizable. You can tailor your experience using themes, fonts, keyboard shortcuts, and shell configurations.
For example, pairing Warp with frameworks like Oh My Zsh (or Oh My Posh) and themes like powerlevel10k and others transforms your terminal into a visually rich, status-aware interface, displaying features such as Git branch status, Python virtual environments, and system metrics directly on your prompt.
Compared to a "vanilla" terminal like macOS’s default Terminal or even the Windows Terminal, Warp feels built for this generation of developers. It reduces friction, speeds up your CLI interactions, and integrates beautifully with tools like VS Code, Git, Python, and much more.
If you spend a lot of time at the command line, as any serious Python network engineer will, Warp is more than just an aesthetic upgrade. It's a performance boost.
If you prefer others, you can also use:
Windows Terminal
iTerm2
Alacritty
Or whatever is available to you; it really doesn't matter
6. Terminal Magic: Oh My Zsh + Powerlevel10k


Supercharge Your Terminal with Oh My Zsh + Powerlevel10k
To make the most out of your command-line environment, it’s not just about what terminal you use but how you configure it. That’s where Oh My Zsh comes in.
It’s a powerful, community-driven framework for managing your Zsh (Z Shell) configuration. Zsh itself is already a more advanced and script-friendly alternative to Bash, but Oh My Zsh takes it several steps further by offering a modular system of plugins and themes that simplify customization and dramatically enhance usability.
With Oh My Zsh, your terminal becomes smarter and more efficient. You get features like command autosuggestions, smarter tab completions, Git integration, and helpful shortcuts that streamline repetitive tasks. Whether you're working with Python virtual environments, managing Git repos, or jumping between directories, Oh My Zsh helps you move faster and more confidently at the CLI.
Add Beauty and Intelligence with Powerlevel10k
Now pair that power with Powerlevel10k, a lightning-fast Zsh theme that brings your terminal prompt to life. Powerlevel10k offers aesthetics, making your terminal look stunning with icons, colors, and fonts; it’s also about surfacing the right information at the right time. It gives you a highly customizable prompt that can show:
Python virtualenvs
Git branch and status
Background jobs
Exit status of your last command
Current directory, hostname, and time
All of this is rendered with precision, clarity, and speed. You can even configure it interactively with a guided wizard that lets you personalize everything from icon styles to prompt density. When you're deep into Python scripting, network automation, or managing lab environments, this kind of visibility and polish makes a real difference.
Oh My Zsh + Powerlevel10k turns your shell into a productivity engine: expressive, informative, and enjoyable to use every day.
On Mac, it can all be done in these simple steps:
Step 1: Install Zsh and Oh My Zsh
# macOS (Zsh is default)
brew install zsh
# Install Oh My Zsh
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"Step 2: Install Powerlevel10k Theme
git clone --depth=1 <https://github.com/romkatv/powerlevel10k.git> \\
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10kThen edit ~/.zshrc:
ZSH_THEME="powerlevel10k/powerlevel10k"Reload your shell:
source ~/.zshrcWhen prompted, go through the configuration wizard and customize it to your own preferences.
7. Alternative: Oh My Posh (Cross-platform)
Prefer something that works well on Windows and Linux/macOS? Try Oh My Posh:
Install the binary and follow the instructions to configure your shell. Great themes, minimal setup.

8. Installing Nerd Fonts (For Icons + Glyphs)
To make your terminal themes and prompts look as intended, install a Nerd Font:
Choose one (e.g., FiraCode Nerd Font, Hack, or JetBrainsMono) and:
Install it
Set it as your terminal/editor font
Restart the terminal

You’re All Set: Your Python Dev Environment Is Ready
That’s it. Your machine is now equipped with everything needed to start your journey into Python. From the language itself to the editor, terminal, themes, fonts, and productivity boosters, you’ve got a clean and powerful setup to code efficiently and comfortably.
The best part? You did this the right way, investing time in building an environment that will support you not just during this Packets & Python crash course, but throughout your entire Python learning path, especially as you apply it to automation, scripting, and network engineering tasks in real-world scenarios.
Now that everything is in place, get ready for the real action.
In the next posts, we will officially begin the Packets & Python for Network Engineers Python programming lecture series. You’ll write your first scripts, learn the fundamentals of Python, and begin to connect the dots between the code and the networks you already know so well.
Make sure you're subscribed so you don't miss the next chapter; your journey into code-powered networking starts now.
Leonardo Furtado

