Can't process jobs after update

I recently updated WebODM and can’t process any jobs. I keep getting this error:

Process exited with code 1

Task Output
Traceback (most recent call last):
File “/code/run.py”, line 12, in
from stages.odm_app import ODMApp
File “/code/stages/odm_app.py”, line 13, in
from odm_meshing import ODMeshingStage
File “/code/stages/odm_meshing.py”, line 7, in
from opendm import mesh
File “/code/opendm/mesh.py”, line 3, in
from opendm.dem import commands
File “/code/opendm/dem/commands.py”, line 22, in
from .ground_rectification.rectify import run_rectification
File “/code/opendm/dem/ground_rectification/rectify.py”, line 4, in
from sklearn.neighbors import BallTree
File “/usr/lib/python2.7/dist-packages/sklearn/neighbors/init.py”, line 9, in
from .graph import kneighbors_graph, radius_neighbors_graph
File “/usr/lib/python2.7/dist-packages/sklearn/neighbors/graph.py”, line 9, in
from .base import KNeighborsMixin, RadiusNeighborsMixin
File “/usr/lib/python2.7/dist-packages/sklearn/neighbors/base.py”, line 18, in
from …metrics import pairwise_distances
File “/usr/lib/python2.7/dist-packages/sklearn/metrics/init.py”, line 33, in
from . import cluster
File “/usr/lib/python2.7/dist-packages/sklearn/metrics/cluster/init.py”, line 19, in
from .unsupervised import silhouette_samples
File “/usr/lib/python2.7/dist-packages/sklearn/metrics/cluster/unsupervised.py”, line 10, in
from …pairwise import pairwise_distances
File “/usr/lib/python2.7/dist-packages/sklearn/metrics/pairwise.py”, line 27, in
from …externals.joblib import parallel
ImportError: cannot import name parallel

Options: dsm: true, skip-3dmodel: true
App Version: 1.4.1

This is on Ubuntu 16.04 and I use Chrome.

It was working great until I ran the update using ‘bash webodm_install.sh’.

Any suggestions would be appreciated.

Thanks!

Mm, is joblib installed?

pip install -U joblib

Hi Piero,

I got this:

pip install -U joblib
Defaulting to user installation because normal site-packages is not writeable
Requirement already up-to-date: joblib in ./.local/lib/python3.7/site-packages (0.16.0)

Mm, how about scikit-learn ?

pip install -U scikit-learn==0.20

Here’s the result of the installation:

pip install -U scikit-learn==0.20

Defaulting to user installation because normal site-packages is not writeable
Collecting scikit-learn==0.20
Downloading scikit_learn-0.20.0-cp37-cp37m-manylinux1_x86_64.whl (5.3 MB)
5.3 MB 5.1 MB/s
Requirement already satisfied, skipping upgrade: scipy>=0.13.3 in ./.local/lib/python3.7/site-packages (from scikit-learn==0.20) (1.5.1)
Requirement already satisfied, skipping upgrade: numpy>=1.8.2 in ./.local/lib/python3.7/site-packages (from scikit-learn==0.20) (1.15.4)
Installing collected packages: scikit-learn
Attempting uninstall: scikit-learn
Found existing installation: scikit-learn 0.23.1
Uninstalling scikit-learn-0.23.1:
Successfully uninstalled scikit-learn-0.23.1
Successfully installed scikit-learn-0.20.0

However, still get the same error:
ImportError: cannot import name parallel

I’m out of ideas; :frowning: I should mention that the native installer has been deprecated almost a year ago and that the preferred way to install WebODM on a server is now to follow the procedure at https://docs.opendronemap.org/installation.html#linux using docker.

If you still want to try to run things natively, you might have to run the script manually command by command and take note of any error message that might appear while executing them.

1 Like

I tried something that allowed me to process the jobs and obtain the orthophotos that I needed. When I capture the images from my DJI Mavic, the images are stored in folders (999 per folder). One set of images was about 1400 images so the images were broken into 2 folders which results in duplicate file names. While I’ve not had issues with this in the past, I thought I’d try renaming all images so they were unique and placed all images in a single folder. For whatever reason, the job was successfully processed. I don’t know why this would have made a difference as I’ve processed several jobs like this before without problems but I thought I’d share in case it helps.

1 Like