GoekeLab / m6anet

Detection of m6A from direct RNA-Seq data
https://m6anet.readthedocs.io/
MIT License
103 stars 19 forks source link

Error occurred during installation with pip and setup.py #43

Closed kwonej0617 closed 2 years ago

kwonej0617 commented 2 years ago

Hi developer!

Thank you for developing a useful tool. I have a question about the installation of m6anet.

Based on the document (https://m6anet.readthedocs.io/en/latest/installation.html), as m6Anet requires [Python version 3.8 or higher]to run, I loaded python module (python3/3.9.6) and attempted to install it with pip. However, I got the error message below. From the error message, it appears that the program has numerous dependencies on software that is not mentioned in the installation instructions or documentation that I can find. These appear to include lapack, openblas, flame, atlas, and accelerate. It's not clear to me whether it just needs the libraries themselves, or if it also needs additional python packages to interact with those libraries. Could you please give me an idea of how to fix this problem and install the tool?

[ek81w@c40b06 m6Anet]$ module load python3/3.9.6 python3 3.9.6 is located under /share/pkg/python3/3.9.6 [ek81w@c40b06 m6Anet]$ pip install m6anet Defaulting to user installation because normal site-packages is not writeable Collecting m6anet Downloading m6anet-1.1.0-py3-none-any.whl (119 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 119.7/119.7 kB 3.1 MB/s eta 0:00:00 Collecting scipy>=1.4.1 Using cached scipy-1.8.1.tar.gz (38.2 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [220 lines of output] setup.py:486: UserWarning: Unrecognized setuptools command ('dist_info --egg-base /tmp/pip-modern-metadata-iyxsjlrm'), proceeding with generating Cython sources and expanding templates warnings.warn("Unrecognized setuptools command ('{}'), proceeding with " Running from SciPy source directory. Running scipy/stats/_generate_pyx.py Running scipy/special/_generate_pyx.py Running scipy/linalg/_generate_pyx.py Processing scipy/sparse/_csparsetools.pyx.in Processing scipy/sparse/csgraph/_matching.pyx Processing scipy/sparse/csgraph/_flow.pyx Processing scipy/sparse/csgraph/_tools.pyx Processing scipy/sparse/csgraph/_shortest_path.pyx Processing scipy/sparse/csgraph/_traversal.pyx Processing scipy/sparse/csgraph/_reordering.pyx Processing scipy/sparse/csgraph/_min_spanning_tree.pyx Processing scipy/spatial/_hausdorff.pyx Processing scipy/spatial/_voronoi.pyx Processing scipy/spatial/_qhull.pyx Processing scipy/spatial/_ckdtree.pyx Processing scipy/spatial/transform/_rotation.pyx Processing scipy/_lib/_test_deprecation_def.pyx Processing scipy/_lib/_ccallback_c.pyx Processing scipy/_lib/_test_deprecation_call.pyx Processing scipy/_lib/messagestream.pyx Processing scipy/cluster/_hierarchy.pyx Processing scipy/cluster/_vq.pyx Processing scipy/cluster/_optimal_leaf_ordering.pyx Processing scipy/stats/_sobol.pyx Processing scipy/stats/_qmc_cy.pyx Processing scipy/stats/_stats.pyx Processing scipy/stats/_biasedurn.pyx Processing scipy/stats/_unuran/unuran_wrapper.pyx Processing scipy/stats/_boost/src/binom_ufunc.pyx Processing scipy/stats/_boost/src/nbinom_ufunc.pyx Processing scipy/stats/_boost/src/beta_ufunc.pyx Processing scipy/stats/_boost/src/hypergeom_ufunc.pyx Processing scipy/fftpack/convolve.pyx Processing scipy/optimize/_bglu_dense.pyx Processing scipy/optimize/_group_columns.pyx Processing scipy/optimize/_highs/cython/src/_highs_wrapper.pyx Processing scipy/optimize/_highs/cython/src/_highs_constants.pyx Processing scipy/optimize/_trlib/_trlib.pyx Processing scipy/optimize/cython_optimize/_zeros.pyx.in Processing scipy/optimize/tnc/_moduleTNC.pyx Processing scipy/optimize/_lsq/givens_elimination.pyx Processing scipy/special/_test_round.pyx Processing scipy/special/_ufuncs.pyx Processing scipy/special/_comb.pyx Processing scipy/special/_ellip_harm_2.pyx Processing scipy/special/_ufuncs_cxx.pyx Processing scipy/special/cython_special.pyx Processing scipy/signal/_peak_finding_utils.pyx Processing scipy/signal/_sosfilt.pyx Processing scipy/signal/_spectral.pyx Processing scipy/signal/_upfirdn_apply.pyx Processing scipy/signal/_max_len_seq_inner.pyx Processing scipy/linalg/cython_lapack.pyx Processing scipy/linalg/cython_blas.pyx Processing scipy/linalg/_solve_toeplitz.pyx Processing scipy/linalg/_cythonized_array_utils.pyx Processing scipy/linalg/_matfuncs_sqrtm_triu.pyx Processing scipy/linalg/_decomp_update.pyx.in warning: unuran_wrapper.pyx:470:21: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:470:28: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:470:36: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:515:21: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:515:28: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:515:36: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:1469:21: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:1469:28: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: unuran_wrapper.pyx:1469:36: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. Processing scipy/io/matlab/_streams.pyx Processing scipy/io/matlab/_mio_utils.pyx Processing scipy/io/matlab/_mio5_utils.pyx Processing scipy/ndimage/src/_ni_label.pyx Processing scipy/ndimage/src/_cytest.pyx Processing scipy/interpolate/interpnd.pyx Processing scipy/interpolate/_bspl.pyx Processing scipy/interpolate/_ppoly.pyx Cythonizing sources lapack_opt_info: lapack_mkl_info: customize UnixCCompiler libraries mkl_rt not found in ['/share/pkg/python3/3.9.6/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE

openblas_lapack_info: libraries openblas not found in ['/share/pkg/python3/3.9.6/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE

openblas_clapack_info: libraries openblas,lapack not found in ['/share/pkg/python3/3.9.6/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE

flame_info: libraries flame not found in ['/share/pkg/python3/3.9.6/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE

atlas_3_10_threads_info: Setting PTATLAS=ATLAS libraries lapack_atlas not found in /share/pkg/python3/3.9.6/lib libraries tatlas,tatlas not found in /share/pkg/python3/3.9.6/lib libraries lapack_atlas not found in /usr/local/lib64 libraries tatlas,tatlas not found in /usr/local/lib64 libraries lapack_atlas not found in /usr/local/lib libraries tatlas,tatlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/lib64/atlas libraries tatlas,tatlas not found in /usr/lib64/atlas libraries lapack_atlas not found in /usr/lib64/sse2 libraries tatlas,tatlas not found in /usr/lib64/sse2 libraries lapack_atlas not found in /usr/lib64 libraries tatlas,tatlas not found in /usr/lib64 libraries lapack_atlas not found in /usr/lib libraries tatlas,tatlas not found in /usr/lib <class 'numpy.distutils.system_info.atlas_3_10_threads_info'> NOT AVAILABLE

atlas_3_10_info: libraries lapack_atlas not found in /share/pkg/python3/3.9.6/lib libraries satlas,satlas not found in /share/pkg/python3/3.9.6/lib libraries lapack_atlas not found in /usr/local/lib64 libraries satlas,satlas not found in /usr/local/lib64 libraries lapack_atlas not found in /usr/local/lib libraries satlas,satlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/lib64/atlas libraries satlas,satlas not found in /usr/lib64/atlas libraries lapack_atlas not found in /usr/lib64/sse2 libraries satlas,satlas not found in /usr/lib64/sse2 libraries lapack_atlas not found in /usr/lib64 libraries satlas,satlas not found in /usr/lib64 libraries lapack_atlas not found in /usr/lib libraries satlas,satlas not found in /usr/lib <class 'numpy.distutils.system_info.atlas_3_10_info'> NOT AVAILABLE

atlas_threads_info: Setting PTATLAS=ATLAS libraries lapack_atlas not found in /share/pkg/python3/3.9.6/lib libraries ptf77blas,ptcblas,atlas not found in /share/pkg/python3/3.9.6/lib libraries lapack_atlas not found in /usr/local/lib64 libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib64 libraries lapack_atlas not found in /usr/local/lib libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/lib64/atlas libraries ptf77blas,ptcblas,atlas not found in /usr/lib64/atlas libraries lapack_atlas not found in /usr/lib64/sse2 libraries ptf77blas,ptcblas,atlas not found in /usr/lib64/sse2 libraries lapack_atlas not found in /usr/lib64 libraries ptf77blas,ptcblas,atlas not found in /usr/lib64 libraries lapack_atlas not found in /usr/lib libraries ptf77blas,ptcblas,atlas not found in /usr/lib <class 'numpy.distutils.system_info.atlas_threads_info'> NOT AVAILABLE

atlas_info: libraries lapack_atlas not found in /share/pkg/python3/3.9.6/lib libraries f77blas,cblas,atlas not found in /share/pkg/python3/3.9.6/lib libraries lapack_atlas not found in /usr/local/lib64 libraries f77blas,cblas,atlas not found in /usr/local/lib64 libraries lapack_atlas not found in /usr/local/lib libraries f77blas,cblas,atlas not found in /usr/local/lib libraries lapack_atlas not found in /usr/lib64/atlas libraries f77blas,cblas,atlas not found in /usr/lib64/atlas libraries lapack_atlas not found in /usr/lib64/sse2 libraries f77blas,cblas,atlas not found in /usr/lib64/sse2 libraries lapack_atlas not found in /usr/lib64 libraries f77blas,cblas,atlas not found in /usr/lib64 libraries lapack_atlas not found in /usr/lib libraries f77blas,cblas,atlas not found in /usr/lib <class 'numpy.distutils.system_info.atlas_info'> NOT AVAILABLE

accelerate_info: NOT AVAILABLE

lapack_info: libraries lapack not found in ['/share/pkg/python3/3.9.6/lib', '/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE

/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/numpy/distutils/system_info.py:1748: UserWarning: Lapack (http://www.netlib.org/lapack/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. return getattr(self, '_calcinfo{}'.format(name))() lapack_src_info: NOT AVAILABLE

/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/numpy/distutils/system_info.py:1748: UserWarning: Lapack (http://www.netlib.org/lapack/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [lapack_src]) or by setting the LAPACK_SRC environment variable. return getattr(self, '_calcinfo{}'.format(name))() NOT AVAILABLE

Traceback (most recent call last): File "/share/pkg/python3/3.9.6/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in main() File "/share/pkg/python3/3.9.6/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main json_out['return_val'] = hook(hook_input['kwargs']) File "/share/pkg/python3/3.9.6/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 164, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) File "/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in prepare_metadata_for_build_wheel self.run_setup() File "/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 267, in run_setup super(_BuildMetaLegacyBackend, File "/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 158, in run_setup exec(compile(code, file, 'exec'), locals()) File "setup.py", line 628, in setup_package() File "setup.py", line 624, in setup_package setup(metadata) File "/tmp/pip-build-env-_eel5sfk/overlay/lib/python3.9/site-packages/numpy/distutils/core.py", line 135, in setup config = configuration() File "setup.py", line 526, in configuration raise NotFoundError(msg) numpy.distutils.system_info.NotFoundError: No BLAS/LAPACK libraries found. To build Scipy from sources, BLAS & LAPACK libraries need to be installed. See site.cfg.example in the Scipy source directory and https://docs.scipy.org/doc/scipy/reference/building/index.html for details. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details.


Also, I tried it with 'Installation from our GitHub repository' but it also had an error message.

[ek81w@ghpcc06 Euijin]$ git clone https://github.com/GoekeLab/m6anet.git [ek81w@ghpcc06 Euijin]$ cd m6anet/ [ek81w@ghpcc06 m6anet]$ python setup.py install Traceback (most recent call last): File "setup.py", line 3, in from setuptools import setup,find_packages File "/share/pkg/python3/3.9.6/lib/python3.9/site-packages/setuptools/init.py", line 132 for k in set(_incl) & set(attrs) ^ SyntaxError: invalid syntax

By chance, if you provide a conda environment, it would likely be significantly easier and less trouble than trying to figure out all the dependencies it requires through trial and error.

I really appreciate your help in advance!

chrishendra93 commented 2 years ago

hi @kwonej0617, I am not too sure at this point but to me, it seems like there's an issue with installing scipy package in your machine due to some low level libraries not being available. Try installing scipy and see if the same problem exists. Alternatively maybe you want to try installing conda so that it will take care of all the dependencies mentioned?

Regards

Christopher Hendra

kwonej0617 commented 2 years ago

Thank you for the quick reply! I will try both and let you know.

Sincerely, Euijin

kwonej0617 commented 2 years ago

Hi Christopher,

I created conda environment and installed scipy, scikit-learn and python=3.8 packages. Then I installed m6anet with pip, which installed m6anet properly.

Thank you for your help!