Closed SBCV closed 4 years ago
Mm, really strange; are you using the opendronemap/nodeodm
docker image?
Side note: The second last line of start-dev-env.sh
contains
docker run -ti --entrypoint bash --name odmdev -v $(pwd):/code -v "$DATA":/datasets -p $PORT:3000 --privileged -e DISPLAY -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -v="/tmp/.X11-unix:/tmp/.X11-unix:rw" -v="$HOME/.odm-dev-home:/home/$USER" opendronemap/nodeodm -c "/code/start-dev-env.sh --setup $USER $USER_ID $GROUP_ID $QTC"
.
Note the docker image: opendronemap/nodeodm
.
That looks a bit strange, since https://github.com/OpenDroneMap/ODM#quickstart
uses opendronemap/odm
.
Does that still make sense?
Using opendronemap/nodeodm
is expected (it's built from opendronemap/odm
). The opencv error usually shows up if the PYTHONPATH is not properly set to point to the OpenSfM directory (https://github.com/OpenDroneMap/ODM/blob/master/Dockerfile#L69).
Do I have to set that path by hand?
Btw: /code/SuperBuild
in the docker container contains only a CMakeLists.txt
file and a cmake
folder.
Did I miss some steps maybe?
Ah, sorry, I think you need to issue:
bash configure.sh reinstall
From the dev environment. I think this is missing from the README (ups! Could you open a PR?).
I'll check, if it works and open a PR
Just to avoid any confusion:
I've now deleted all docker containers with docker rm -vf $(docker ps -a -q)
and images with docker rmi -f $(docker images -a -q)
And next I should execute
(odmdev) [user:/code] master+* ± bash configure.sh reinstall
before
(odmdev) [user:/code] master+* ± ./run.sh --project-path /datasets mydataset
?
Correct!
Nice, that worked.
Just one more question: Is it possible to change the data path set with
DATA=/path/to/datasets ./start-dev-env.sh
after executing (odmdev) [user:/code] master+* ± bash configure.sh reinstall
?
If not, we could add an additional note to the PR.
Mm, probably not; it involves mounting a docker volume, which requires the container to be restarted.
Note that you need to execute the bash configure.sh reinstall
only the first time; the second time you launch the start-dev-env.sh
script this is not needed.
How did you install OpenDroneMap?
I followed the steps in https://github.com/OpenDroneMap/ODM#developers, i.e.
git clone https://github.com/OpenDroneMap/ODM.git
cd
to cloned dirDATA=/path/to/datasets ./start-dev-env.sh
What's your operating system?
OS: Ubuntu 18.04
What is the problem?
When executing the last step described under https://github.com/OpenDroneMap/ODM#developers (i.e.
./run.sh --project-path /datasets mydataset
) I receive the following error message:ImportError: No module named cv2
I am able to fix this problem by manually installing OpenCV, i.e.
CTRL-p CTRL-q
docker exec -it <container_id> bash
apt-get install python-opencv
CTRL-p CTRL-q
When I attach to the container again with
docker attach <container_id>
and execute (again)./run.sh --project-path /datasets mydataset
I receive:ImportError: No module named opensfm.large
. Thus, I think something went wrong with the installation process.Here is the log of
DATA=/path/to/datasets ./start-dev-env.sh
What should be the expected behavior?
Creating the same/similar results as executing
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project
as described under https://github.com/OpenDroneMap/ODM#quickstartHow can we reproduce this?
Follow the steps at https://github.com/OpenDroneMap/ODM#developers