acycliq / pciSeq

A probabilistic cell typing algorithm for spatial transcriptomics.
MIT License
23 stars 7 forks source link

fixed ImportError: libglut.so.3: cannot open shared object file #1

Closed jlause closed 2 years ago

jlause commented 3 years ago

Hey @acycliq!

First of all: Thanks for making this software available in python, really great to have.

I wanted to report an import issue I had on my system and how I fixed it. After installing with pip install pciSeq on Ubuntu 18.04 and running your demo notebook, I got the following error stack

ImportError                               Traceback (most recent call last)
<ipython-input-1-08cddfbaaf46> in <module>
      8 from scipy.sparse import load_npz
      9 import matplotlib.pyplot as plt
---> 10 import pciSeq
     11 from pciSeq.src.cell_call import utils
     12 from configparser import ConfigParser

/usr/local/lib/python3.8/dist-packages/pciSeq/__init__.py in <module>
----> 1 from pciSeq.app import fit
      2 from pciSeq.app import cell_type
      3 from pciSeq.src.preprocess.spot_labels import stage_data

/usr/local/lib/python3.8/dist-packages/pciSeq/app.py in <module>
      4 from scipy.sparse import coo_matrix, save_npz, load_npz
      5 from pciSeq.src.cell_call.main import VarBayes
----> 6 from pciSeq.src.preprocess.spot_labels import stage_data
      7 from pciSeq.src.viewer.utils import splitter_mb
      8 from pciSeq import config

/usr/local/lib/python3.8/dist-packages/pciSeq/src/preprocess/spot_labels.py in <module>
     11 import skimage.measure as skmeas
     12 from scipy.sparse import coo_matrix, save_npz, load_npz
---> 13 from pciSeq.src.preprocess.cell_borders import extract_borders_par, extract_borders_dip
     14 import logging
     15 

/usr/local/lib/python3.8/dist-packages/pciSeq/src/preprocess/cell_borders.py in <module>
     12 from multiprocessing.dummy import Pool as ThreadPool
     13 from multiprocessing import cpu_count
---> 14 import diplib as dip
     15 import time
     16 import logging

/usr/local/lib/python3.8/dist-packages/diplib/__init__.py in <module>
     46 import importlib.util
     47 if importlib.util.find_spec('.PyDIPviewer', __name__) is not None:
---> 48     from . import PyDIPviewer as viewer
     49     hasDIPviewer = True
     50     def ShowModal(*args, **kwargs):

ImportError: libglut.so.3: cannot open shared object file: No such file or directory

As I did not find libglut.so.3 on my system, I installed it using this answer from stackexchange, i.e. by sudo apt-get install freeglut3. After that, the demo notebook worked without any problems.

Just wanted to report the fix for other people who might run into the same issue. :)

Best, Jan.

acycliq commented 3 years ago

Hi Jan,

Many thanks for looking into this and sharing the solution! I never had that myself, but I am on Windows 10 (in case that matters anyway...). Let me know if you have any other problems please.

Dimitris