lando / lando/python

Unable to get Django up and running

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs Triage
Dominant language
JavaScript
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

---
name: django-play
services:
  appserver:
    type: python:3.11
    build:
      - pip install --upgrade pip
      - pip install -r requirements.txt
    scanner: true
    # NOTE: this entire Landofile hard codes a path to a project we assume exists. If you have a different
    # name for your project, you'll have to change all occurences of 'firstapp' to whatever your project is named.
    command: python /app/airlineclub/manage.py runserver 0:8800
    overrides:
      ports:
        - "8000:8000"
      environment:
        # NOTE: change this path to match your project name
        PYTHONPATH: "/app/airlineclub"
        DJANGO_SETTINGS_MODULE: "firstapp.settings"
    moreHttpPorts:
      - "8000"
  db:
    # NOTE: the credentials below are the default for Lando, don't bother trying to change them
    type: postgres:15
    portforward: true
    creds:
      user: postgres
      password:
      database: django-play

tooling:
  django-admin:
    service: appserver
    cmd: django-admin
  python:
    service: appserver
    cmd: python
  pip:
    service: appserver
    cmd: pip
  manage:
    service: appserver
    # NOTE: change this path to match your project name
    cmd: cd /app/airlineclub && python /app/airlineclub/manage.py
  psql:
    service: db
    cmd: psql -U postgres
  "db-import <file>":
    service: :host
    description: Imports a dump file into a database service
    cmd: /helpers/sql-import.sh
    options:
      host:
        description: The database service to use
        default: db
        alias:
          - h
      no-wipe:
        description: Do not destroy the existing database before an import
        boolean: true

results in:

appserver_1  | 2023-10-14T08:28:05.489931858Z lando 08:28:05.48 INFO  ==> Lando handing off to: /bin/sh -c python /app/airlineclub/manage.py runserver 0:8800
appserver_1  | 2023-10-14T08:28:05.508377347Z Traceback (most recent call last):
appserver_1  | 2023-10-14T08:28:05.508414138Z   File "/app/airlineclub/manage.py", line 10, in main
appserver_1  | 2023-10-14T08:28:05.508421998Z     from django.core.management import execute_from_command_line
appserver_1  | 2023-10-14T08:28:05.508428058Z ModuleNotFoundError: No module named 'django'
appserver_1  | 2023-10-14T08:28:05.508433998Z 
appserver_1  | 2023-10-14T08:28:05.508440028Z The above exception was the direct cause of the following exception:
appserver_1  | 2023-10-14T08:28:05.508445958Z 
appserver_1  | 2023-10-14T08:28:05.508451679Z Traceback (most recent call last):
appserver_1  | 2023-10-14T08:28:05.508461699Z   File "/app/airlineclub/manage.py", line 21, in <module>
appserver_1  | 2023-10-14T08:28:05.508468019Z     main()
appserver_1  | 2023-10-14T08:28:05.508473529Z   File "/app/airlineclub/manage.py", line 12, in main
appserver_1  | 2023-10-14T08:28:05.508495950Z     raise ImportError(
appserver_1  | 2023-10-14T08:28:05.508502380Z ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

It appears that the build command isn't running before the command. What am I missing?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Landofile, requirements.txt, and /app/airlineclub/manage.py, then reproduce the shown appserver startup and inspect whether the build steps run before the command. Done means the configured service can import Django and start manage.py runserver without the reported ModuleNotFoundError.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, postgresql, python
Domain
backend, databases, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.