Case Study 2.1: Priya Sets Up Her Work Laptop

The Situation

It's a Tuesday morning at Acme Corp. Priya Okonkwo has just come from a conversation with Sandra Chen, who mentioned off-hand that she'd heard "companies like ours are starting to use Python for reports." Priya has been curious about Python for months. She decides today is the day.

Her machine: a Windows 10 Dell laptop provided by IT, with local administrator rights. Marcus has confirmed she can install software. She has a reliable internet connection. She has about 90 minutes before her afternoon meeting.

What Priya Does (Step by Step)

10:00 AM — Opens python.org, downloads the Python 3.12 installer. Runs it. Remembers to check "Add Python to PATH" at the bottom of the installer screen (she'd read that this matters).

10:05 AM — Opens Command Prompt. Types python --version. Gets Python 3.12.0. Types pip --version. Both work. Relief.

10:07 AM — Downloads and installs VS Code. Opens it. Installs the Python extension from the Extensions marketplace.

10:15 AM — Creates a folder: C:\Users\priya\Documents\acme-analytics. Opens it in VS Code (File → Open Folder).

10:17 AM — Opens VS Code's integrated terminal (Ctrl+`). Creates a virtual environment:

python -m venv venv

10:18 AM — Activates it:

venv\Scripts\activate

Notices the (venv) prefix. Something about seeing that prefix makes this feel real.

10:20 AM — Installs the core packages:

pip install pandas matplotlib seaborn openpyxl requests

Watches the packages install. The download takes about 2 minutes on the office Wi-Fi.

10:22 AM — Creates a new file: hello_business.py. Types the code from Section 2.5 (she types it rather than copying, following the book's advice). Runs it.

Welcome to Acme Corp
Employee count: 200
Annual revenue: $15,400,000
Revenue per employee: $77,000

Average monthly revenue: $1,283,333
Company name in uppercase: ACME CORP
Number of characters in company name: 9

10:28 AM — Stares at the output. It worked. She wrote something and the computer did exactly what she told it to. It's a small thing, but it doesn't feel small.

10:30 AM — Runs verify_environment.py. All libraries present.

The First Problem

At 10:35, Priya's first encounter with an error. She tries to import pandas in the REPL but types Pandas with a capital P:

>>> import Pandas
ModuleNotFoundError: No module named 'Pandas'

Her first instinct: "Did pandas not install?" She checks pip list. Pandas is there. After a moment, she notices the capitalization. Python is case-sensitive. import pandas (lowercase) works perfectly.

Marcus's Reaction

Marcus walks by and sees the terminal window with (venv) and package installation logs. "What's this?"

"Python," Priya says.

"For what?"

"I'm going to automate the Monday report."

Marcus pauses. "You're going to need to talk to IT before anything goes into production."

"I know. I'm just learning."

Marcus nods. Not enthusiastic, but not blocking either. He's seen enough tools come and go to wait and see.

What Priya Learns

  • Setup takes about 30–45 minutes, not the feared "half a day"
  • The virtual environment workflow is exactly as mechanical as promised — no intuition required, just commands
  • Python is case-sensitive (first lesson learned the hard way)
  • The (venv) prompt indicator is more reassuring than expected — it's clear confirmation that you're in the right place

60-Day Follow-Up

Two months later, Priya has three virtual environments on her laptop: 1. acme-analytics/venv — her main work project 2. learning/venv — where she experiments with textbook examples 3. side-project/venv — a personal project tracking her apartment building's recycling compliance (don't ask)

She no longer thinks about virtual environments. She activates them reflexively, the way she locks her car door without thinking.

Discussion Questions

  1. Why was it important that Priya typed the hello_business.py code rather than copying it?
  2. The ModuleNotFoundError for Pandas vs pandas is a classic first error. What does it tell you about Python's case sensitivity, and where else in Python might this matter?
  3. Marcus's reaction ("talk to IT before anything goes into production") represents a realistic organizational concern. What are the legitimate IT governance reasons for this policy, even if the policy is sometimes frustrating to work around?
  4. Priya has three virtual environments for three different projects. What would go wrong if she used one single environment for all three?