macs3-project / MACS

MACS -- Model-based Analysis of ChIP-Seq
https://macs3-project.github.io/MACS/
BSD 3-Clause "New" or "Revised" License
703 stars 268 forks source link

Bug: Pip install fails -- parsing 'numpy>=>=1.17' in setup #541

Closed cossentinoCS closed 1 year ago

cossentinoCS commented 1 year ago

Describe the bug When installing most recent macs2 via pip, install fails at "Preparing metadata (pyproject.toml) phase", Doesn't appear to be restricted to a specific python version

Concise error message (see screenshot for full trace):

error in MACS2 setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected end or semicolon (after name and no valid version specifier)
          numpy>=>=1.17
               ^
      [end of output]

To Reproduce 1) From fresh install of python 3.8/3.9, etc., run pip install --upgrade pip numpy && pip install macs2 (I used the docker container python:3.8-slim-buster, but also my local computer)

Expected behavior

MACS2 to install successfully

Screenshots Screenshot from 2023-01-31 16-58-16

System (please complete the following information):

Additional context Add any other context about the problem here.

andyrussell commented 1 year ago

I am also having this issue (on Python 3.9.13, OS Mac 13.1, Numpy 1.24.1) - and I don't think it is solvable by just installing macs3 as suggested for other macs2 installation issues, since I am hoping to use the MACS2 executable in ArchR - any help you can give would be greatly appreciated!

dburkhardt commented 1 year ago

I just hit this too. I'm actually shocked this ever worked because this is clearly a typo:

https://github.com/macs3-project/MACS/blob/00f489c1555dd15e3713a03f9357a33cbcef24b1/setup.py#L19-L20

You can fix it by downloading the 2.2.7.1 release source, editing setup.py to fix the bug, then pip installing.

andyrussell commented 1 year ago

Oh good spot, thank you! It worked for me, this is the exact edit I used, just in case it's useful:

numpy_requires = '>=1.17' install_requires = [f"numpy {numpy_requires}",]

tyamadat commented 1 year ago

I hit the same issue and sent PR. You can install it by downloading the 2.2.7.1 release source, fixing this, and running pip install -e .

philippadoherty commented 1 year ago

Hello, this issue was fixed in our MACS2 v2.2.8 release. Try it out!