aertslab / scenicplus

SCENIC+ is a python package to build gene regulatory networks (GRNs) using combined or separate single-cell gene expression (scRNA-seq) and single-cell chromatin accessibility (scATAC-seq) data.
Other
163 stars 27 forks source link

Linux installation Error #350

Open kakaisi opened 2 months ago

kakaisi commented 2 months ago

Hi, I tried to install the development version of scenicplus on linux system, but there are some problems in the installation, like asking for your help, looking forward to your reply, thank you. The specific error is as follows:scenicplus) fang@fang:~/scenicplus$ pip install . Processing /home/fang/scenicplus Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Collecting loomxpy@ git+https://github.com/aertslab/LoomXpy@main (from scenicplus==1.0a1) Cloning https://github.com/aertslab/LoomXpy (to revision main) to /tmp/pip-install-ui6ce5ge/loomxpy_608b0c54a8da41699aeb7111e4e3c8d9 Running command git clone --filter=blob:none --quiet https://github.com/aertslab/LoomXpy /tmp/pip-install-ui6ce5ge/loomxpy_608b0c54a8da41699aeb7111e4e3c8d9 fatal: unable to access 'https://github.com/aertslab/LoomXpy/': Failed to connect to github.com port 443: Connection timed out error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet https://github.com/aertslab/LoomXpy /tmp/pip-install-ui6ce5ge/loomxpy_608b0c54a8da41699aeb7111e4e3c8d9 did not run successfully. │ exit code: 128 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet https://github.com/aertslab/LoomXpy /tmp/pip-install-ui6ce5ge/loomxpy_608b0c54a8da41699aeb7111e4e3c8d9 did not run successfully. │ exit code: 128 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

ghuls commented 2 months ago

Try again. Probably github was temporarily down.

kakaisi commented 2 months ago

Thank you for your reply, but I have another problem, can you help me look at it? Thank you! ERROR: Could not build wheels for annoy, pybedtools, which is required to install pyproject.toml-based projects

/home/fang/4t/conda/envs/scenicplus/lib/python3.11/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'pybedtools.include' is absent from the packages configuration. !!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'pybedtools.include' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.

          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'pybedtools.include' is explicitly added
          to the `packages` configuration field.

          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

          If you don't want 'pybedtools.include' to be distributed and are
          already explicitly excluding 'pybedtools.include' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.

          You can read more about "package data files" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************

  !!

running build_ext building 'pybedtools.cbedtools' extension creating build/temp.linux-x86_64-cpython-311 creating build/temp.linux-x86_64-cpython-311/pybedtools creating build/temp.linux-x86_64-cpython-311/pybedtools/include gcc -pthread -B /home/fang/4t/conda/envs/scenicplus/compiler_compat -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/fang/4t/conda/envs/scenicplus/include -fPIC -O2 -isystem /home/fang/4t/conda/envs/scenicplus/include -fPIC -Ipybedtools/include/ -I/home/fang/4t/conda/envs/scenicplus/include/python3.11 -c pybedtools/cbedtools.cpp -o build/temp.linux-x86_64-cpython-311/pybedtools/cbedtools.o gcc: fatal error: cannot execute ‘cc1plus’: execvp: No such file or directory compilation terminated. error: command '/usr/bin/gcc' failed with exit code 1 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pybedtools Running setup.py clean for pybedtools error: subprocess-exited-with-error

× python setup.py clean did not run successfully. │ exit code: 1 ╰─> [10 lines of output] /tmp/pip-install-ptknh8mx/pybedtools_fe78d2886122428d9dec1fc697d9822e/setup.py:55: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources /home/fang/4t/conda/envs/scenicplus/lib/python3.11/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'language_level' warnings.warn(msg) usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help

  error: option --all not recognized
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed cleaning build dir for pybedtools

ghuls commented 2 months ago

You need to have a C++ compiler installed (e.g. g++).

It might be easier to install it via conda: https://daler.github.io/pybedtools/main.html