Skip to main content
This guide walks you through setting up the complete development environment for the LinkedIn Job Analyzer, including Python dependencies, Chrome configuration, and environment variables.

Prerequisites

Before starting, ensure you have:
  • Python 3.8 or higher installed
  • Google Chrome browser
  • pip (Python package manager)
  • Git (for cloning the repository)

Installation Steps

1

Clone the Repository

Clone the project to your local machine:
git clone <repository-url>
cd linkedin-job-analyzer
2

Create Virtual Environment

It’s strongly recommended to use a virtual environment to avoid dependency conflicts:
# Create virtual environment
python -m venv venv

# Activate it (Linux/Mac)
source venv/bin/activate

# Activate it (Windows)
venv\Scripts\activate
Your command prompt should now show (venv) prefix, indicating the virtual environment is active.
3

Install Python Dependencies

Install all required packages from requirements.txt:
pip install -r requirements.txt
This will install:
  • flask - Web framework for the application
  • selenium - Browser automation for scraping
  • webdriver-manager - Automatic ChromeDriver management
  • beautifulsoup4 - HTML parsing
  • pandas - Data manipulation
  • openpyxl - Excel file generation
  • openai - OpenAI API client
  • python-dotenv - Environment variable management
4

Verify Chrome Installation

The application uses Chrome for web scraping. Verify Chrome is installed:
# Linux
google-chrome --version

# Mac
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version

# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --version
ChromeDriver is automatically managed by webdriver-manager, so you don’t need to download it manually.
5

Create Environment File

Create a .env file in the project root directory:
cp .env.example .env
Or create it manually:
.env
OPENAI_API_KEY=sk-your-api-key-here
Never commit your .env file to version control. It should already be in .gitignore.

Required Environment Variables

The application requires the following environment variable:

OPENAI_API_KEY

Required: Yes
Format: String starting with sk-
Purpose: Authenticates requests to OpenAI’s GPT API for job description analysis
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
See OpenAI API Configuration for detailed setup instructions.

Chrome/ChromeDriver Configuration

The application is configured to use Chrome with specific options for optimal scraping:

Automatic ChromeDriver Management

The project uses webdriver-manager which automatically:
  • Downloads the correct ChromeDriver version for your Chrome browser
  • Manages driver updates
  • Handles platform-specific configurations
This happens automatically when you run the application - no manual setup needed.

Chrome Options Used

The scraper (linkedin_scraper.py:23-32) configures Chrome with:
- Custom user agent (mimics real browser)
- Maximized window start
- Automation detection disabled
- Webdriver property hidden
These options help avoid detection as a bot when scraping LinkedIn.
If you encounter issues with Chrome, ensure you’re running the latest version. ChromeDriver compatibility is automatic but requires a recent Chrome installation.

Virtual Environment Best Practices

Why Use Virtual Environments?

  • Isolation: Keeps project dependencies separate from system Python
  • Reproducibility: Ensures consistent behavior across different machines
  • Clean uninstall: Easy to remove by deleting the venv folder
  • Multiple Python versions: Different projects can use different Python versions

Managing Your Virtual Environment

# Deactivate when done working
deactivate

# Reactivate when resuming work
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate      # Windows

# Update dependencies
pip install --upgrade -r requirements.txt

# Add new dependencies
pip install package-name
pip freeze > requirements.txt  # Update requirements file
Always activate your virtual environment before running the application or installing packages.

Troubleshooting

Chrome/ChromeDriver Issues

Problem: “ChromeDriver can’t be found”
Solution: Ensure Chrome is installed and webdriver-manager has internet access to download drivers
Problem: “Session not created: version mismatch”
Solution: Update Chrome to the latest version, webdriver-manager will download the matching driver

Python Dependency Issues

Problem: Package installation fails
Solution:
# Upgrade pip first
pip install --upgrade pip

# Then retry installation
pip install -r requirements.txt

Virtual Environment Not Activating

Problem: Command not found or permission denied
Solution (Linux/Mac):
chmod +x venv/bin/activate
source venv/bin/activate

Verification

Verify your setup is complete:
# Check Python version
python --version

# Check installed packages
pip list

# Verify environment variable is loaded
python -c "from dotenv import load_dotenv; import os; load_dotenv(); print('API Key:', 'Found' if os.getenv('OPENAI_API_KEY') else 'Missing')"
If all checks pass, you’re ready to run the application!

Next Steps

OpenAI API Setup

Configure your OpenAI API key and understand usage costs

Running the Application

Learn how to start and use the job analyzer

Build docs developers (and LLMs) love