ImportError missing libtiff, installation seemed successful

Hi folks, I see other topics about ImportError, but in the context of installation. In my case, installation appeared successful and this failure to find the libtiff module occured in the first job of testing the tutorial (importing movies):

License is valid.
Running job on master node
[CPU: 98.9 MB] Project P1 Job J2 Started
[CPU: 98.9 MB] Master running v2.15.0, worker running v2.15.0
[CPU: 99.2 MB] Running on lane default
[CPU: 99.2 MB] Resources allocated:
[CPU: 99.2 MB] Worker: blackbird
[CPU: 99.2 MB] --------------------------------------------------------------
[CPU: 99.2 MB] Importing job module for job type import_movies…
[CPU: 168.9 MB] Traceback (most recent call last):
File “cryosparc2_master/cryosparc2_compute/run.py”, line 72, in cryosparc2_compute.run.main
File “cryosparc2_compute/jobs/jobregister.py”, line 337, in get_run_function
runmod = importlib.import_module("…"+modname, name)
File “/home/drichman/cryosparc/cryosparc2_master/deps/anaconda/lib/python2.7/importlib/init.py”, line 37, in import_module
import(name)
File “cryosparc2_compute/jobs/imports/run.py”, line 20, in
from …blobio import tiff
File “cryosparc2_compute/blobio/tiff.py”, line 11, in
import libtiff
ImportError: No module named libtiff

During installation, I had done the following extra steps…

drichman@blackbird:~/cryosparc/cryosparc2_worker$ eval $(./bin/cryosparcw env)
drichman@blackbird:~/cryosparc/cryosparc2_worker$ which pip
/home/drichman/cryosparc/cryosparc2_worker/deps/anaconda/bin/pip

drichman@blackbird:~/cryosparc/cryosparc2_worker$ pip install --upgrade pip
drichman@blackbird:~/cryosparc/cryosparc2_worker$ sudo apt install gcc
drichman@blackbird:~/cryosparc/cryosparc2_worker$ sudo apt install g++
drichman@blackbird:~/cryosparc/cryosparc2_worker$ pip install “./deps_bundle/python/python_packages/pip_packages/pycuda-2019.1.tar.gz” --no-cache-dir

…to fix a pip-related, pycuda-related error (sorry, I didn’t save the original error output) and missing gcc, g++ errors, then repeated the installation and it completed without errors, and I remember seeing all sorts of packages being installed successfully during the installation.

I just now tried that eval $(./bin/cryosparcw env) line again and pip-installed libtiff, thinking it occurred in the environment that cryoSPARC operates in, but it didn’t fix the job error. So clearly my understanding of what’s going on with the environment concept is shaky.

Please advise on where to look for missing modules, how to install them so that cryoSPARC sees them, or what sort of silent error with my installation may have occurred. Thank you!

SOLUTION

My intuition to work with pip in a cryoSPARC environment was correct, but the files shown in the traceback were in cryosparc2_master, not _worker, so the correct environment to work in was

drichman@blackbird : ~/cryosparc/cryosparc2_master $ eval $(./bin/cryosparcm env)
not
drichman@blackbird : ~/cryosparc/cryosparc2_worker $ eval $(./bin/cryosparcw env)

After loading the cryosparcm env I used pip list to confirm libtiff was not there and then pip install libtiff. Then the movie import worked.

Hope this technique helps others.
edit Not sure how to change the tag from Open to Closed on the thread

1 Like