readbeyond / aeneas

aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)
http://www.readbeyond.it/aeneas/
GNU Affero General Public License v3.0
2.44k stars 218 forks source link

Windows unable to install. It keeps asking to install numpy even though its already installed. #306

Open rohitkrishna094 opened 8 months ago

rohitkrishna094 commented 8 months ago

I am using windows 10 and Python 3.12.0 and I created a new folder and ran the below commands as Administrator in a command prompt.

python -m venv venv
venv\Scripts\activate
pip install numpy # success
pip install aeneas # failed

Error

Collecting aeneas
  Using cached aeneas-1.7.3.0.tar.gz (5.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      [ERRO] You must install numpy before installing aeneas
      [INFO] Try the following command:
      [INFO] $ sudo pip install numpy
      [end of output]

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

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

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

Why am I getting an error saying that "You must install numpy before installing aeneas"? It makes no sense because according to aeneas documentation itself I ran pip install numpy successfully before running pip install aeneas

vantoan19 commented 7 months ago

I'm facing the same issue

vantoan19 commented 7 months ago

It just failed recently, before that it worked normally

jzsampaio commented 7 months ago

I think this is related to numpy deprecating distutils, which is used within setup.py for installing aeneas.

Inside setip.py one reads:

try:
    from numpy import get_include
    from numpy.distutils import misc_util
except ImportError:
    print("[ERRO] You must install numpy before installing aeneas")
    print("[INFO] Try the following command:")
    print("[INFO] $ sudo pip install numpy")
    sys.exit(1)

About distutils:

numpy.distutils is deprecated, and will be removed for Python >= 3.12

The issue is not exclusive to Windows. I had the same problem o Ubuntu.

Have you tried downgrade your python version? I was able to install aeneas on python 3.5.10. On python 3.10.1 I cannot pip install aeneas, since I hit the error described on this issue.

However, if I clone the repo, I can execute python -m aeneas.tools.execute_task from the command line (on python 3.10.1). The problem seems to be only on the tooling used for packaging the project.

Mzaxd commented 6 months ago

same error, i change to python3.10 and fix it

tkozybski commented 2 months ago

If you still have issues with python version < 3.12, install wheel package before aeneas. That helped for me

DominikLindorfer commented 3 days ago

I've solved this problem changing lines 188 and thereon in setup.py by excluding numpy misc_util as reported in #306 to:

# try importing numpy: if it fails, warn user and exit
try:
    from numpy import get_include
    # from numpy.distutils import misc_util
except ImportError:
    print("[ERRO] You must install numpy before installing aeneas")
    print("[INFO] Try the following command:")
    print("[INFO] $ sudo pip install numpy")
    sys.exit(1)

# to compile cdtw and cmfcc, we need to include the NumPy dirs
INCLUDE_DIRS = [get_include()]

after this I was able to do

python setup.py build_ext --inplace
python aeneas_check_setup.py

and

python setup.py install

to verify and install aeneas.