Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RUST compiler? #163

Open
michaelmather15 opened this issue Aug 16, 2022 · 7 comments
Open

RUST compiler? #163

michaelmather15 opened this issue Aug 16, 2022 · 7 comments

Comments

@michaelmather15
Copy link

Setup

I am reporting a problem with GSEApy version, Python version, and operating
system as follows:

import sys; print(sys.version)
import platform; print(platform.python_implementation()); print(platform.platform())
import gseapy; print(gseapy.__version__)

python=v3.10.5
3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:22:27)
[GCC 9.3.0]
CPython
Linux-4.15.0-112-generic-x86_64-with-glibc2.10

Expected behaviour

Installs gseapy

Actual behaviour

Simply running: !pip install gseapy In Jupyer (python kernal), leads to:

Collecting gseapy
Using cached gseapy-0.12.0.tar.gz (2.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting bioservices
Using cached bioservices-1.10.1-py3-none-any.whl
Requirement already satisfied: matplotlib in /opt/conda/lib/python3.8/site-packages (from gseapy) (3.3.4)
Requirement already satisfied: requests in /opt/conda/lib/python3.8/site-packages (from gseapy) (2.25.1)
Requirement already satisfied: joblib in /opt/conda/lib/python3.8/site-packages (from gseapy) (1.0.1)
Requirement already satisfied: numpy>=1.13.0 in /opt/conda/lib/python3.8/site-packages (from gseapy) (1.20.1)
Requirement already satisfied: pandas in /opt/conda/lib/python3.8/site-packages (from gseapy) (1.2.3)
Requirement already satisfied: scipy in /opt/conda/lib/python3.8/site-packages (from gseapy) (1.6.1)
Collecting lxml
Using cached lxml-4.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (6.9 MB)
Collecting beautifulsoup4
Using cached beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
Collecting suds-community
Using cached suds_community-1.1.2-py3-none-any.whl (144 kB)
Collecting easydev>=0.9.36
Using cached easydev-0.12.0-py3-none-any.whl
Collecting grequests
Using cached grequests-0.6.0-py3-none-any.whl (5.2 kB)
Collecting requests-cache
Using cached requests_cache-0.9.5-py3-none-any.whl (47 kB)
Collecting wrapt
Using cached wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (81 kB)
Collecting appdirs
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting colorlog
Using cached colorlog-6.6.0-py2.py3-none-any.whl (11 kB)
Collecting xmltodict
Using cached xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python3.8/site-packages (from matplotlib->gseapy) (1.3.1)
Requirement already satisfied: pillow>=6.2.0 in /opt/conda/lib/python3.8/site-packages (from matplotlib->gseapy) (8.1.2)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /opt/conda/lib/python3.8/site-packages (from matplotlib->gseapy) (2.4.7)
Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.8/site-packages (from matplotlib->gseapy) (2.8.1)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.8/site-packages (from matplotlib->gseapy) (0.10.0)
Requirement already satisfied: pytz>=2017.3 in /opt/conda/lib/python3.8/site-packages (from pandas->gseapy) (2021.1)
Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.8/site-packages (from requests->gseapy) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.8/site-packages (from requests->gseapy) (2020.12.5)
Requirement already satisfied: chardet<5,>=3.0.2 in /opt/conda/lib/python3.8/site-packages (from requests->gseapy) (4.0.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/conda/lib/python3.8/site-packages (from requests->gseapy) (1.26.3)
Requirement already satisfied: six in /opt/conda/lib/python3.8/site-packages (from cycler>=0.10->matplotlib->gseapy) (1.15.0)
Requirement already satisfied: pexpect in /opt/conda/lib/python3.8/site-packages (from easydev>=0.9.36->bioservices->gseapy) (4.8.0)
Requirement already satisfied: colorama in /opt/conda/lib/python3.8/site-packages (from easydev>=0.9.36->bioservices->gseapy) (0.4.4)
Collecting soupsieve>1.2
Using cached soupsieve-2.3.2.post1-py3-none-any.whl (37 kB)
Collecting gevent
Using cached gevent-21.12.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.5 MB)
Collecting cattrs<=22.2,>=1.8
Using cached cattrs-22.1.0-py3-none-any.whl (33 kB)
Collecting attrs<22.0,>=21.2
Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting url-normalize<2.0,>=1.4
Using cached url_normalize-1.4.3-py2.py3-none-any.whl (6.8 kB)
Collecting exceptiongroup
Using cached exceptiongroup-1.0.0rc8-py3-none-any.whl (11 kB)
Collecting zope.interface
Using cached zope.interface-5.4.0-cp38-cp38-manylinux2010_x86_64.whl (259 kB)
Collecting greenlet<2.0,>=1.1.0
Using cached greenlet-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (156 kB)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.8/site-packages (from gevent->grequests->bioservices->gseapy) (65.0.1)
Collecting zope.event
Using cached zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.8/site-packages (from pexpect->easydev>=0.9.36->bioservices->gseapy) (0.7.0)
Building wheels for collected packages: gseapy
Building wheel for gseapy (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for gseapy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [31 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
creating build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/gsea.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/plot.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/algorithm.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/parser.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/init.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/base.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/main.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/utils.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/biomart.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/stats.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/great.py -> build/lib.linux-x86_64-cpython-38/gseapy
copying gseapy/enrichr.py -> build/lib.linux-x86_64-cpython-38/gseapy
running build_ext
running build_rust
error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
  
  To update pip, run:
  
      pip install --upgrade pip
  
  and then retry package installation.
  
  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs/) is the recommended way to download and update the Rust compiler toolchain.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for gseapy
Failed to build gseapy
ERROR: Could not build wheels for gseapy, which is required to install pyproject.toml-based projects

Steps to reproduce

As above. I've tried to install rust, but no success!
Any help much appreciated.

@zqfang
Copy link
Owner

zqfang commented Aug 16, 2022

Yes. You need Rust compiler. See #161

install rust first

mamba install rust

or install mannually

@michaelmather15
Copy link
Author

Thank you for the quick reply. I did install rust, but that did not work. However, since following the link to #161 and configuring the path, it is now fine. Thanks for that!

@zqfang
Copy link
Owner

zqfang commented Aug 17, 2022

Now, for py >=3.7, you could use

conda install -c bioconda gseapy

So you don't need to install rust compiler by yourself.

@michaelmather15
Copy link
Author

Thank you!

@RuiqiaoHe
Copy link

RuiqiaoHe commented Oct 12, 2022

I have met the same error. In my environment, pip install gseapy==0.10.8 would fix it.

@zqfang
Copy link
Owner

zqfang commented Oct 12, 2022

gseapy <= 0.10.8 consumes too much RAM. And the gseapy >=0.13.0 is 10x faster than gseapy <= 0.10.8. Please use the lastest version for best experiences.

Now, pypi has pre-build gseapy (>=0.14.0) for windows, linux, macos users. jus use

pip install gseapy

@RuiqiaoHe
Copy link

Thank you! This helps a lot. I have switched to gseapy-0.14.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants