calico / solo

software to detect doublets
MIT License
85 stars 13 forks source link

solo installation issue #14

Closed yding9 closed 4 years ago

yding9 commented 4 years ago

Hi,

Thank you so much for creating this fantastic tool! I have previously successfully installed solo and got the pipeline running nicely. But later, I probably installed some other packages and messed up the conda environment, and I got error messages when I tried to run solo. So I decided to remove the conda environment and reinstall solo. I believe I followed everything I did before: conda create -n solo python=3.6 && conda activate solo && pip install -e . This time I got error messages I had never seen before, no matter how many times I tried. And after googling, I have no idea how to solve it. Thank you so much for any help!

Here is the screenshot of the error messages: ERROR: Command errored out with exit status 1: command: /home/yi.ding/anaconda3/envs/solo/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/yi.ding/solo/setup.py'"'"'; file='"'"'/home/yi.ding/solo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info cwd: /home/yi.ding/solo/ Complete output (112 lines): Traceback (most recent call last): File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/errors.py", line 662, in new_error_context yield File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 258, in lower_block self.lower_inst(inst) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 301, in lower_inst val = self.lower_assign(ty, inst) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 459, in lower_assign return self.lower_expr(ty, value) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 919, in lower_expr res = self.lower_call(resty, expr) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 711, in lower_call res = self._lower_call_normal(fnty, expr, signature) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 890, in _lower_call_normal res = impl(self.builder, argvals, self.loc) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/targets/base.py", line 1132, in call res = self._imp(self._context, builder, self._sig, args, loc=loc) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/targets/base.py", line 1157, in wrapper return fn(*args, **kwargs) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/targets/arrayobj.py", line 3375, in numpy_zeros_nd _zero_fill_array(context, builder, ary) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/targets/arrayobj.py", line 3305, in _zero_fill_array cgutils.memset(builder, ary.data, builder.mul(ary.itemsize, ary.nitems), 0) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/cgutils.py", line 866, in memset builder.call(fn, [ptr, value, size, int32_t(0), bool_t(0)]) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/llvmlite/ir/builder.py", line 841, in call cconv=cconv, tail=tail, fastmath=fastmath) File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/llvmlite/ir/instructions.py", line 84, in init raise TypeError(msg) TypeError: Type of #4 arg mismatch: i1 != i32

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/yi.ding/solo/setup.py", line 9, in <module>
    from solo import __author__, __email__
  File "/home/yi.ding/solo/solo/__init__.py", line 5, in <module>
    from . import hashsolo, utils
  File "/home/yi.ding/solo/solo/hashsolo.py", line 10, in <module>
    import scanpy as sc
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/scanpy/__init__.py", line 27, in <module>
    check_versions()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/scanpy/utils.py", line 33, in check_versions
    import anndata, umap
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/__init__.py", line 1, in <module>
    from .umap_ import UMAP
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/umap_.py", line 23, in <module>
    import umap.sparse as sparse
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/sparse.py", line 9, in <module>
    from umap.utils import (
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/utils.py", line 106, in <module>
    @numba.njit("f8[:, :, :](i8,i8)")
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/decorators.py", line 186, in wrapper
    disp.compile(sig)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/dispatcher.py", line 693, in compile
    cres = self._compiler.compile(args, return_type)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/dispatcher.py", line 76, in compile
    status, retval = self._compile_cached(args, return_type)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/dispatcher.py", line 90, in _compile_cached
    retval = self._compile_core(args, return_type)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/dispatcher.py", line 108, in _compile_core
    pipeline_class=self.pipeline_class)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 972, in compile_extra
    return pipeline.compile_extra(func)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 390, in compile_extra
    return self._compile_bytecode()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 903, in _compile_bytecode
    return self._compile_core()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 890, in _compile_core
    res = pm.run(self.status)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 266, in run
    raise patched_exception
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 257, in run
    stage()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 764, in stage_nopython_backend
    self._backend(lowerfn, objectmode=False)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 703, in _backend
    lowered = lowerfn()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 690, in backend_nopython_mode
    self.metadata)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/compiler.py", line 1143, in native_lowering_stage
    lower.lower()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 177, in lower
    self.lower_normal_function(self.fndesc)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 218, in lower_normal_function
    entry_block_tail = self.lower_function_body()
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 243, in lower_function_body
    self.lower_block(block)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/lowering.py", line 258, in lower_block
    self.lower_inst(inst)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/errors.py", line 670, in new_error_context
    six.reraise(type(newerr), newerr, tb)
  File "/home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/numba/six.py", line 659, in reraise
    raise value
numba.errors.LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
Type of #4 arg mismatch: i1 != i32

File "../anaconda3/envs/solo/lib/python3.6/site-packages/umap/utils.py", line 129:
def make_heap(n_points, size):
    <source elided>
    """
    result = np.zeros((3, int(n_points), int(size)), dtype=np.float64)
    ^

[1] During: lowering "$0.14 = call $0.2($0.10, func=$0.2, args=[Var($0.10, /home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/utils.py (129))], kws=[('dtype', Var($0.12, /home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/utils.py (129)))], vararg=None)" at /home/yi.ding/anaconda3/envs/solo/lib/python3.6/site-packages/umap/utils.py (129)
----------------------------------------

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

njbernstein commented 4 years ago

@yding9 I get the same issue. It seems like an issue with the UMAP package and numba. see here: https://github.com/lmcinnes/umap/issues/225

I'm working on a fix now to remove umap as a dependency.

cc: @davek44

yding9 commented 4 years ago

@njbernstein Thank you so much for your quick response and suggestion. Please let me know when the fix is done. And thank you again for this fantastic tool!

njbernstein commented 4 years ago

@yding9 this should be fixed in the latest commit into master. Please re-open if it is not fixed