Import error: no module named ecto


I’m new to ODM and have been trying to install it and get it up and running.

I successfully downloaded ODM (v0.3.1) and installed (bash install) and updated my environment variables (~/.bashrc), I also updated my settings.yaml file to a project folder, then downloaded one of your example/test datasets (aukerman).

However when I go to run it to process the data I get a message saying “import error: no module named ecto”.
This is true whether I run it with python or ./

I’ve tried uninstalling and installing again, and also tried reinstalling. No success.
I also downloaded PCL and moved into the SuperBuild/download directory and then undertaken another install. Same results. I’m unable to get passed the import ecto line.

Can anybody please help me overcome this problem?
I can’t see any relevant solution that I’ve yet to try.
Seems to be a fairly common one.

I should point out:

  1. I’m new to linux so I take a “cook book” approach, meaning that if there isn’t an instruction to do something I’m not going to know that I need to do it
  2. its a brand new computer, the only other thing installed is the SNAP toolbox (Sentinel satellite data processing). So I hadn’t previously installed Python yet (do I need to do this before installing ODM)?
  3. My computer is running Ubuntu 18.04. is this where my problem lies? How might I overcome it to get ODM to work?

Thanks :slight_smile:

Hey @samfleming6 :hand: welcome!

Have you restarted the shell after setting the environment variables?


Yes, I even went as far as restarted my computer, and double checked the .bashrc file to make sure the amendments remained.

Even so, my understanding was that using the ./ should use the correct env variables for that run (even if the bashrc is incorrect)? Happy to be wrong on that though.

Correct, should take care of that.

If you cd into SuperBuild/build and issue:

make ecto

Do you get an error message?


This is the feed I get:

[ 50%] Built target catkin
[ 56%] Performing configure step for ‘ecto’
– Using CATKIN_DEVEL_PREFIX: /home/username/Documents/OpenDroneMap_v0_3_1/SuperBuild/build/ecto/devel
– Using PYTHON_EXECUTABLE: /usr/bin/python
– Using Debian Python package layout
– Using empy: /usr/bin/empy
– catkin 0.6.16
– Boost version: 1.65.0
CMake Error at /usr/share/cmake-3.10/Modules/FindBoost.cmake:1947 (message):
Unable to find the requested Boost libraries.

Boost version: 1.65.0

Boost include path: /usr/local/include

Could not find the following Boost libraries:


Some (but not all) of the required Boost libraries were found. You may
need to install these additional Boost libraries. Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
to the location of Boost.
Call Stack (most recent call first):
cmake/boost.cmake:28 (find_package)
CMakeLists.txt:67 (include)

– Boost version 1.65.0
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
– ecto commit:
– ecto tag (long):
– ecto tag (short):
– ecto last_mod:
– Configuring incomplete, errors occurred!
See also “/home/username/Documents/OpenDroneMap_v0_3_1/SuperBuild/build/ecto/CMakeFiles/CMakeOutput.log”.
See also “/home/username/Documents/OpenDroneMap_v0_3_1/SuperBuild/build/ecto/CMakeFiles/CMakeError.log”.
CMakeFiles/ecto.dir/build.make:109: recipe for target ‘ecto/stamp/ecto-configure’ failed
make[3]: *** [ecto/stamp/ecto-configure] Error 1
CMakeFiles/Makefile2:252: recipe for target ‘CMakeFiles/ecto.dir/all’ failed
make[2]: *** [CMakeFiles/ecto.dir/all] Error 2
CMakeFiles/Makefile2:264: recipe for target ‘CMakeFiles/ecto.dir/rule’ failed
make[1]: *** [CMakeFiles/ecto.dir/rule] Error 2
Makefile:183: recipe for target ‘ecto’ failed
make: *** [ecto] Error 2

Try installing boost python: apt install libboost-python

I get a message saying “Unable to locate package libboost-python” (had to do “sudo apt install libboost-python”). Advice?

I get that this is probably v simple stuff so I appreciate your patience and help :slight_smile:

Ah, sorry, use apt install libboost-python-dev

Cool. that worked.

still unable to make ecto, and getting the same error log as above.
I tried sudo make ecto and got a slightly different error message that seems to boil down to (ImportError: No module named catkin.environment_cache)

(also still getting the import error when i try to use

Mm, I’m not sure. Are you running Ubuntu 16.04? Installation might have problems on different Linux systems.

Exactly same situation, but running Ubuntu 16.04.

export PYTHONPATH=$PYTHONPATH:/your/path/OpenDroneMap/SuperBuild/install/lib/python2.7/dist-packages
export PYTHONPATH=$PYTHONPATH:/your/path/OpenDroneMap/SuperBuild/src/opensfm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/path/OpenDroneMap/SuperBuild/install/lib

I’m curious, if you run:

bash reinstall 1

(pass 1 at the end of the command)

Are you able to make it work?

I’m on 18.04 so perhaps thats causing issues with installing packages?

reinstalling (with the 1) doesnt make a difference in my case

Yeah 18.04 isn’t officially supported as of yet. Would recommend using docker if you’re on 18.04.