chrisspen / punctuator2

A bidirectional recurrent neural network model with attention mechanism for restoring missing punctuation in unsegmented text
http://bark.phon.ioc.ee/punctuator
MIT License
35 stars 7 forks source link

Install on ubuntu fails #10

Open biquad opened 2 years ago

biquad commented 2 years ago

Hi,

I have problems installing the package on ubuntu 20.04. Following some initial attempts, I started with a fresh new environment, tried to install punctuator2 (see result below), then went back and checked which components had been installed already

**- python3 -m venv p38.10

Requirement already satisfied: wheel in ./p38.10/lib/python3.8/site-packages (0.37.1) Requirement already satisfied: theano in ./p38.10/lib/python3.8/site-packages (1.0.5) Requirement already satisfied: nltk in ./p38.10/lib/python3.8/site-packages (3.7) Requirement already satisfied: gdown in ./p38.10/lib/python3.8/site-packages (4.2.1) Requirement already satisfied: numpy in ./p38.10/lib/python3.8/site-packages (1.22.2) Requirement already satisfied: scipy in ./p38.10/lib/python3.8/site-packages (1.8.0) Requirement already satisfied: scikit-learn in ./p38.10/lib/python3.8/site-packages (1.0.2) Requirement already satisfied: six>=1.9.0 in ./p38.10/lib/python3.8/site-packages (from theano) (1.16.0) Requirement already satisfied: regex>=2021.8.3 in ./p38.10/lib/python3.8/site-packages (from nltk) (2022.1.18) Requirement already satisfied: tqdm in ./p38.10/lib/python3.8/site-packages (from nltk) (4.62.3) Requirement already satisfied: joblib in ./p38.10/lib/python3.8/site-packages (from nltk) (1.1.0) Requirement already satisfied: click in ./p38.10/lib/python3.8/site-packages (from nltk) (8.0.3) Requirement already satisfied: filelock in ./p38.10/lib/python3.8/site-packages (from gdown) (3.4.2) Requirement already satisfied: beautifulsoup4 in ./p38.10/lib/python3.8/site-packages (from gdown) (4.10.0) Requirement already satisfied: requests[socks] in ./p38.10/lib/python3.8/site-packages (from gdown) (2.27.1) Requirement already satisfied: threadpoolctl>=2.0.0 in ./p38.10/lib/python3.8/site-packages (from scikit-learn) (3.1.0) Requirement already satisfied: soupsieve>1.2 in ./p38.10/lib/python3.8/site-packages (from beautifulsoup4->gdown) (2.3.1) Requirement already satisfied: idna<4,>=2.5 in ./p38.10/lib/python3.8/site-packages (from requests[socks]->gdown) (3.3) Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./p38.10/lib/python3.8/site-packages (from requests[socks]->gdown) (1.26.8) Requirement already satisfied: certifi>=2017.4.17 in ./p38.10/lib/python3.8/site-packages (from requests[socks]->gdown) (2021.10.8) Requirement already satisfied: charset-normalizer~=2.0.0 in ./p38.10/lib/python3.8/site-packages (from requests[socks]->gdown) (2.0.11) Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in ./p38.10/lib/python3.8/site-packages (from requests[socks]->gdown) (1.7.1)

As far as I can see, the requirements are met.

Nevertheless, I get a blas related error when I try to install punctuator:

(p38.10) myhome@ryz536:~/python$ python -m pip install punctuator Collecting punctuator Using cached punctuator-0.9.6.tar.gz (22 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [46 lines of output] Traceback (most recent call last): File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/configparser.py", line 168, in fetch_val_for_key return theano_cfg.get(section, option) File "/usr/lib/python3.8/configparser.py", line 781, in get d = self._unify_values(section, vars) File "/usr/lib/python3.8/configparser.py", line 1149, in _unify_values raise NoSectionError(section) from None configparser.NoSectionError: No section: 'blas'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/configparser.py", line 327, in __get__
      val_str = fetch_val_for_key(self.fullname,
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/configparser.py", line 172, in fetch_val_for_key
      raise KeyError(key)
  KeyError: 'blas.ldflags'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-hiz066wb/punctuator_f6ffde564b7f4c1492971f03eb892d7a/setup.py", line 6, in <module>
      import punctuator
    File "/tmp/pip-install-hiz066wb/punctuator_f6ffde564b7f4c1492971f03eb892d7a/punctuator/__init__.py", line 4, in <module>
      from .punc import Punctuator
    File "/tmp/pip-install-hiz066wb/punctuator_f6ffde564b7f4c1492971f03eb892d7a/punctuator/punc.py", line 12, in <module>
      import theano
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/__init__.py", line 124, in <module>
      from theano.scan_module import (scan, map, reduce, foldl, foldr, clone,
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/scan_module/__init__.py", line 41, in <module>
      from theano.scan_module import scan_opt
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/scan_module/scan_opt.py", line 60, in <module>
      from theano import tensor, scalar
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/tensor/__init__.py", line 17, in <module>
      from theano.tensor import blas
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/tensor/blas.py", line 155, in <module>
      from theano.tensor.blas_headers import blas_header_text
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/tensor/blas_headers.py", line 987, in <module>
      if not config.blas.ldflags:
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/configparser.py", line 332, in __get__
      val_str = self.default()
    File "/home/myhome/python/p38.10/lib/python3.8/site-packages/theano/configdefaults.py", line 1284, in default_blas_ldflags
      blas_info = np.distutils.__config__.blas_opt_info
  AttributeError: module 'numpy.distutils.__config__' has no attribute 'blas_opt_info'
  [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. (p38.10) myhome@ryz536:~/python$

Any idea about where the problem is?

Best regards, Carsten

biquad commented 2 years ago

Follow-up: The problem is related to theano that will not install on my Linux system (Ubuntu 20.04 with a pathetic graphics card - NVIDIA GeForce GT 710). If I find a solution, I will let you know, Carsten