Skip to content

Windows setup: infogami module not found despite submodule init #12756

@nualatwoscoops

Description

@nualatwoscoops

Problem

Hi, I'm a new contributor trying to set up OpenLibrary locally on Windows following the Quick Start Guide.
Problem:
After successfully resolving a line endings issue (\r\n vs \n), all 11 containers come up healthy but localhost:8080 won't load. The web container logs show:
ModuleNotFoundError: No module named 'infogami'
Steps followed:

Forked and cloned the repo via SSH
Ran git submodule init && git submodule sync && git submodule update
Fixed line endings with dos2unix on all .sh and .py files
Installed pre-commit hooks
Set core.autocrlf to false
Ran docker compose build --no-cache && docker compose up -d

What I found:
The vendor/infogami folder exists and has files, but pip show infogami inside the container returns nothing. Manually installing with pip install -e /openlibrary/vendor/infogami works but doesn't persist after restart.

Has anyone else hit this on Windows? Happy to contribute a documentation fix once resolved.

Reproducing the bug

Steps to reproduce:

Clone the repository on Windows following the Quick Start Guide
Run git submodule init && git submodule sync && git submodule update
Fix line endings with dos2unix on all .sh and .py files
Run docker compose build --no-cache && docker compose up -d
Check logs with docker compose logs web

Expected behavior:
All containers start healthy and OpenLibrary is accessible at localhost:8080
Actual behavior:
All 11 containers show as healthy but the web container fails with ModuleNotFoundError: No module named 'infogami' despite the vendor/infogami folder being present and containing files. Manually running pip install -e /openlibrary/vendor/infogami inside the container installs it successfully but the fix does not persist after restart.

Context

Browser: Chrome
OS: Windows 11
Logged in: N
Environment: local (dev setup, not prod)

Breakdown

Implementation Details (for maintainers)

Requirements Checklist

  • [ ]

Related files

Stakeholders


Instructions for Contributors

  • Please run these commands to ensure your repository is up to date before creating a new branch to work on this issue and each time after pushing code to Github, because the pre-commit bot may add commits to your PRs upstream.

Metadata

Metadata

Assignees

Labels

Lead: @cdriniIssues overseen by Drini (Staff: Team Lead & Solr, Library Explorer, i18n) [managed]Needs: BreakdownThis big issue needs a checklist or subissues to describe a breakdown of work. [managed]Priority: 3Issues that we can consider at our leisure. [managed]Type: BugSomething isn't working. [managed]Type: QuestionThis issue doesn't require code. A question needs an answer. [managed]

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions