Hi I’m trying to get WebODM running on Linux Mint but can’t get it to work and would appreciate some help. I’ve tried a couple of times with no joy so started over by deleting the install directory and following the install instructions at Installation and Getting Started — OpenDroneMap 3.5.4 documentation
Just to check docker and python:
docker compose --version
Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1
python3 --version
Python 3.12.3
Installed from git with no issues:
git clone GitHub - OpenDroneMap/WebODM: User-friendly, commercial-grade software for processing aerial imagery. ✈️
Cloning into ‘WebODM’…
remote: Enumerating objects: 20849, done.
remote: Counting objects: 100% (615/615), done.
remote: Compressing objects: 100% (202/202), done.
remote: Total 20849 (delta 486), reused 428 (delta 411), pack-reused 20234 (from 4)
Receiving objects: 100% (20849/20849), 109.07 MiB | 6.99 MiB/s, done.
Resolving deltas: 100% (13803/13803), done.
According to Mint Software Manager, both celery 5.3.6-1 any Python 3 celery 5.3.6-1 are present (perhaps from my previous install attempts, I’ve gone round in so many circles I can’t recall which if either I’ve installed!).
Trying to start webODM directly with start.sh I get a message to install or configure Python 3. As above, this is installed (but is not the Mint default version) so gather I need to execute webODM in a virtual environment. So from within webODM directory I run:
python3 -m venv venv
which creates and populated subdir /venv
I activate the virtual environment with:
source myvenv/bin/activate
which places (venv) at the start of the prompt so I assume that’s ok?
I run start.sh and get this output:
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 8, in
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named ‘django’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 14, in
import django
ModuleNotFoundError: No module named ‘django’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 16, in
raise ImportError(
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?
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 8, in
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named ‘django’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 14, in
import django
ModuleNotFoundError: No module named ‘django’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/home/paul/WebODM/manage.py”, line 16, in
raise ImportError(
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?
Checking for celery… OK
WO_BROKER environment variable is not set. Defaulting to redis://localhost
Scheduler is not running.
Generating nginx configurations from templates…
- nginx/nginx.conf
- nginx/nginx-ssl.conf
./start.sh: line 149: nginx: command not found
./start.sh: line 150: gunicorn: command not found
Traceback (most recent call last):
File “/usr/bin/celery”, line 22, in
from pkg_resources import load_entry_point
ModuleNotFoundError: No module named ‘pkg_resources’
In Software Manager I see that ‘python3-django’ version 3:4.2.11-1ubuntu1.6 is installed but there are dozens of other python3-django packages that are not installed. Maybe some of these are required or maybe this has to be installed in the virtual environment as well?
I’ve run:
echo $PYTHONPATH
and find that is empty (checked with venv activated and not activated) but I’m not sure what if anything it should contain. Maybe this is the problem?
Not having experience with Python set-ups, virtual environments or the django or celery packages I’m not sure where to go next so any help appreciated!