What's the official state of Python module scipy in Cygwin?

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Sun Jun 21 19:36:55 GMT 2020


On 2020-06-21 12:31, My Name via Cygwin wrote:
> (M.A., I've figured out how to reply to the Cygwin Mailing List on these.
> If you'd like me to remove your name from the list of addressees in my
> future emails, please let me know? I have not found comprehensive docs for
> this mailing-list software, so I'm clueless.)
> 
> I was delighted when Numpy first showed up as an official Cygwin Package
> and am using Numpy in Python 3.7 in Cygwin now. I've realized that the
> latest Cygwin versions of Python (now 3.8) are often incomplete, but that's
> no problem for me. I'm also able to use Sympy in Cygwin by installing Sympy
> via Pip in python3.7 in Cygwin.
> 
> Scipy includes functions outside Numpy and Sympy that would be useful to me
> at least, and I regularly rely on JupyterLab; so for those, I've been
> resorting to Windows 10 versions of Python3.
> 
> I should have clarified in my original post in this thread, when I did
> happen to have success installing full Scipy in Cygwin, it was with this
> command:
> 
> $ python3.7 -m pip install scipy
> 
> When I did have that success installing Scipy in Cygwin, I later realized
> that whether Cygwin package gcc-fortran was installed locally made a
> difference. Without gcc-fortran installed locally, the pip command would
> fail to install Scipy. When I run that pip command now, I don't comprehend
> the output, but I recognize that the Scipy installation has failed, even
> though I do have Cygwin's gcc-fortran installed:
> 
> ==================================
> $ python3.7 -m pip install scipy
> Collecting scipy
>   Downloading scipy-1.5.0.tar.gz (25.6 MB)
>      |████████████████████████████████| 25.6 MB 11.8 MB/s
>   Installing build dependencies ... done
>   Getting requirements to build wheel ... done
>     Preparing wheel metadata ... error
>     ERROR: Command errored out with exit status 1:
>      command: /usr/bin/python3.7
> /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py
> prepare_metadata_for_build_wheel /tmp/tmpc3ao3jht
>          cwd: /tmp/pip-install-593dlngp/scipy
>     Complete output (137 lines):
>     lapack_opt_info:
>     lapack_mkl_info:
>     customize UnixCCompiler
>       libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib',
> '/usr/lib/']
>       NOT AVAILABLE
> 
>     openblas_lapack_info:
>     customize UnixCCompiler
>     customize UnixCCompiler
>       libraries openblas not found in ['/usr/local/lib', '/usr/lib',
> '/usr/lib/']
>       NOT AVAILABLE
> 
>     openblas_clapack_info:
>     customize UnixCCompiler
>     customize UnixCCompiler
>       libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib',
> '/usr/lib/']
>       NOT AVAILABLE
> 
>     atlas_3_10_threads_info:
>     Setting PTATLAS=ATLAS
>     customize UnixCCompiler
>       libraries tatlas,tatlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries tatlas,tatlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries tatlas,tatlas not found in /usr/lib/
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib/
>     <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
>       NOT AVAILABLE
> 
>     atlas_3_10_info:
>     customize UnixCCompiler
>       libraries satlas,satlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries satlas,satlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries satlas,satlas not found in /usr/lib/
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib/
>     <class 'numpy.distutils.system_info.atlas_3_10_info'>
>       NOT AVAILABLE
> 
>     atlas_threads_info:
>     Setting PTATLAS=ATLAS
>     customize UnixCCompiler
>       libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries ptf77blas,ptcblas,atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries ptf77blas,ptcblas,atlas not found in /usr/lib/
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib/
>     <class 'numpy.distutils.system_info.atlas_threads_info'>
>       NOT AVAILABLE
> 
>     atlas_info:
>     customize UnixCCompiler
>       libraries f77blas,cblas,atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/local/lib
>     customize UnixCCompiler
>       libraries f77blas,cblas,atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib
>     customize UnixCCompiler
>       libraries f77blas,cblas,atlas not found in /usr/lib/
>     customize UnixCCompiler
>       libraries lapack_atlas not found in /usr/lib/
>     <class 'numpy.distutils.system_info.atlas_info'>
>       NOT AVAILABLE
> 
>     lapack_info:
>     customize UnixCCompiler
>       libraries lapack not found in ['/usr/local/lib', '/usr/lib',
> '/usr/lib/']
>       NOT AVAILABLE
> 
>     lapack_src_info:
>       NOT AVAILABLE
> 
>       NOT AVAILABLE
> 
>     setup.py:462: UserWarning: Unrecognized setuptools command ('dist_info
> --egg-base /tmp/pip-modern-metadata-ib3nkeed'), proceeding with generating
> Cython sources and expanding templates
>       ' '.join(sys.argv[1:])))
>     Running from SciPy source directory.
> 
> /tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/numpy/distutils/system_info.py:624:
> UserWarning:
>         Atlas (http://math-atlas.sourceforge.net/) libraries not found.
>         Directories to search for the libraries can be specified in the
>         numpy/distutils/site.cfg file (section [atlas]) or by setting
>         the ATLAS environment variable.
>       self.calc_info()
> 
> /tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/numpy/distutils/system_info.py:624:
> 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.
>       self.calc_info()
> 
> /tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/numpy/distutils/system_info.py:624:
> 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.
>       self.calc_info()
>     Traceback (most recent call last):
>       File
> "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line
> 280, in <module>
>         main()
>       File
> "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line
> 263, in main
>         json_out['return_val'] = hook(**hook_input['kwargs'])
>       File
> "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line
> 133, in prepare_metadata_for_build_wheel
>         return hook(metadata_directory, config_settings)
>       File
> "/tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/setuptools/build_meta.py",
> line 157, in prepare_metadata_for_build_wheel
>         self.run_setup()
>       File
> "/tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/setuptools/build_meta.py",
> line 249, in run_setup
>         self).run_setup(setup_script=setup_script)
>       File
> "/tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/setuptools/build_meta.py",
> line 142, in run_setup
>         exec(compile(code, __file__, 'exec'), locals())
>       File "setup.py", line 583, in <module>
>         setup_package()
>       File "setup.py", line 579, in setup_package
>         setup(**metadata)
>       File
> "/tmp/pip-build-env-znryb617/overlay/lib/python3.7/site-packages/numpy/distutils/core.py",
> line 135, in setup
>         config = configuration()
>       File "setup.py", line 477, in configuration
>         raise NotFoundError(msg)
>     numpy.distutils.system_info.NotFoundError: No lapack/blas resources
> found.
>     ----------------------------------------
> ERROR: Command errored out with exit status 1: /usr/bin/python3.7
> /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py
> prepare_metadata_for_build_wheel /tmp/tmpc3ao3jht Check the logs for full
> command output.

> Going by an old memory of mine, I recall that parts of Scipy rely on BLAS,
> https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms, and I read
> somewhere that that dependency adds to the difficulty of porting Scipy to
> new platforms.
Try installing or upgrading liblapack-devel liblapack-doc libopenblas
openblas-doc and see how far that gets you.
I remember coming across atlas elsewhere, but only know it provides some tuned
BLAS and LAPACK routines.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]


More information about the Cygwin mailing list