1

I am trying to deploy a flask based application on Heroku.
I connected my GitHub repository to the Heroku Platform and from the repository I am trying to push it to the deployment.
It goes fine until installing build dependencies. After that, I got some errors.

-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Python app detected
-----> No Python version was specified. Using the buildpack default: python-3.9.6
       To use a different version, see: https://devcenter.heroku.com/articles/python-runtimes
-----> Installing python-3.9.6
-----> Installing pip 20.2.4, setuptools 47.1.1 and wheel 0.36.2
-----> Installing SQLite3
-----> Installing requirements with pip
       Collecting click==8.0.1
         Downloading click-8.0.1-py3-none-any.whl (97 kB)
       Collecting colorama==0.4.4
         Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
       Collecting Cython==0.29.23
         Downloading Cython-0.29.23-cp39-cp39-manylinux1_x86_64.whl (1.9 MB)
       Collecting Flask==2.0.1
         Downloading Flask-2.0.1-py3-none-any.whl (94 kB)
       Collecting Flask-Cors==3.0.10
         Downloading Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)
       Collecting importlib-metadata==4.6.1
         Downloading importlib_metadata-4.6.1-py3-none-any.whl (17 kB)
       Collecting itsdangerous==2.0.1
         Downloading itsdangerous-2.0.1-py3-none-any.whl (18 kB)
       Collecting Jinja2==3.0.1
         Downloading Jinja2-3.0.1-py3-none-any.whl (133 kB)
       Collecting joblib==1.0.1
         Downloading joblib-1.0.1-py3-none-any.whl (303 kB)
       Collecting MarkupSafe==2.0.1
         Downloading MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl (30 kB)
       Collecting numpy==1.19.5
         Downloading numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl (14.9 MB)
       Collecting pandas==1.3.1
         Downloading pandas-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
       Collecting python-dateutil==2.8.2
         Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
       Collecting pytz==2021.1
         Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB)
       Collecting scikit-learn==0.22.2.post1
         Downloading scikit-learn-0.22.2.post1.tar.gz (6.9 MB)
       Collecting scipy==1.4.1
         Downloading scipy-1.4.1.tar.gz (24.6 MB)
         Installing build dependencies: started
         Installing build dependencies: still running...
         Installing build dependencies: still running...
         Installing build dependencies: still running...
         Installing build dependencies: still running...
         Installing build dependencies: finished with status 'done'
         Getting requirements to build wheel: started
         Getting requirements to build wheel: finished with status 'done'
           Preparing wheel metadata: started
           Preparing wheel metadata: finished with status 'error'
           ERROR: Command errored out with exit status 1:
            command: /app/.heroku/python/bin/python /app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpzehqvl85
                cwd: /tmp/pip-install-u8xhvmc8/scipy
           Complete output (171 lines):
           setup.py:418: UserWarning: Unrecognized setuptools command ('dist_info --egg-base /tmp/pip-modern-metadata-5w54x3w9'), proceeding with generating Cython sources and expanding templates
             warnings.warn("Unrecognized setuptools command ('{}'), proceeding with "
           Running from scipy source directory.
           lapack_opt_info:
           lapack_mkl_info:
           customize UnixCCompiler
             libraries mkl_rt not found in ['/app/.heroku/python/lib', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
             NOT AVAILABLE
           
           openblas_lapack_info:
           customize UnixCCompiler
           customize UnixCCompiler
             libraries openblas not found in ['/app/.heroku/python/lib', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
             NOT AVAILABLE
           
           openblas_clapack_info:
           customize UnixCCompiler
           customize UnixCCompiler
             libraries openblas,lapack not found in ['/app/.heroku/python/lib', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
             NOT AVAILABLE
           
           flame_info:
           customize UnixCCompiler
             libraries flame not found in ['/app/.heroku/python/lib', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
             NOT AVAILABLE
           
           atlas_3_10_threads_info:
           Setting PTATLAS=ATLAS
           customize UnixCCompiler
             libraries lapack_atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries tatlas,tatlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries tatlas,tatlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/lib64
           customize UnixCCompiler
             libraries tatlas,tatlas not found in /usr/lib64
           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/x86_64-linux-gnu
           customize UnixCCompiler
             libraries tatlas,tatlas not found in /usr/lib/x86_64-linux-gnu
           <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
             NOT AVAILABLE
           
           atlas_3_10_info:
           customize UnixCCompiler
             libraries lapack_atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries satlas,satlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries satlas,satlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/lib64
           customize UnixCCompiler
             libraries satlas,satlas not found in /usr/lib64
           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/x86_64-linux-gnu
           customize UnixCCompiler
             libraries satlas,satlas not found in /usr/lib/x86_64-linux-gnu
           <class 'numpy.distutils.system_info.atlas_3_10_info'>
             NOT AVAILABLE
           
           atlas_threads_info:
           Setting PTATLAS=ATLAS
           customize UnixCCompiler
             libraries lapack_atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries ptf77blas,ptcblas,atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/lib64
           customize UnixCCompiler
             libraries ptf77blas,ptcblas,atlas not found in /usr/lib64
           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/x86_64-linux-gnu
           customize UnixCCompiler
             libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu
           <class 'numpy.distutils.system_info.atlas_threads_info'>
             NOT AVAILABLE
           
           atlas_info:
           customize UnixCCompiler
             libraries lapack_atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries f77blas,cblas,atlas not found in /app/.heroku/python/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries f77blas,cblas,atlas not found in /usr/local/lib
           customize UnixCCompiler
             libraries lapack_atlas not found in /usr/lib64
           customize UnixCCompiler
             libraries f77blas,cblas,atlas not found in /usr/lib64
           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/x86_64-linux-gnu
           customize UnixCCompiler
             libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu
           <class 'numpy.distutils.system_info.atlas_info'>
             NOT AVAILABLE
           
           accelerate_info:
             NOT AVAILABLE
           
           lapack_info:
           customize UnixCCompiler
             libraries lapack not found in ['/app/.heroku/python/lib', '/usr/local/lib', '/usr/lib64', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
             NOT AVAILABLE
           
           /tmp/pip-build-env-jxsfl6_h/overlay/lib/python3.9/site-packages/numpy/distutils/system_info.py:1712: 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.
             if getattr(self, '_calc_info_{}'.format(lapack))():
           lapack_src_info:
             NOT AVAILABLE
           
           /tmp/pip-build-env-jxsfl6_h/overlay/lib/python3.9/site-packages/numpy/distutils/system_info.py:1712: 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.
             if getattr(self, '_calc_info_{}'.format(lapack))():
             NOT AVAILABLE
           
           Traceback (most recent call last):
             File "/app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
               main()
             File "/app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
               json_out['return_val'] = hook(**hook_input['kwargs'])
             File "/app/.heroku/python/lib/python3.9/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-jxsfl6_h/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 166, in prepare_metadata_for_build_wheel
               self.run_setup()
             File "/tmp/pip-build-env-jxsfl6_h/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 258, in run_setup
               super(_BuildMetaLegacyBackend,
             File "/tmp/pip-build-env-jxsfl6_h/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 150, in run_setup
               exec(compile(code, __file__, 'exec'), locals())
             File "setup.py", line 540, in <module>
               setup_package()
             File "setup.py", line 536, in setup_package
               setup(**metadata)
             File "/tmp/pip-build-env-jxsfl6_h/overlay/lib/python3.9/site-packages/numpy/distutils/core.py", line 137, in setup
               config = configuration()
             File "setup.py", line 435, in configuration
               raise NotFoundError(msg)
           numpy.distutils.system_info.NotFoundError: No lapack/blas resources found.
           ----------------------------------------
       ERROR: Command errored out with exit status 1: /app/.heroku/python/bin/python /app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpzehqvl85 Check the logs for full command output.
 !     Push rejected, failed to compile Python app.
 !     Push failed

Here's what the requirements for the app

click==8.0.1
colorama==0.4.4
Cython==0.29.23
Flask==2.0.1
Flask-Cors==3.0.10
importlib-metadata==4.6.1
itsdangerous==2.0.1
Jinja2==3.0.1
joblib==1.0.1
MarkupSafe==2.0.1
numpy==1.19.5
pandas==1.3.1
python-dateutil==2.8.2
pytz==2021.1
scikit-learn==0.22.2.post1
scipy==1.4.1
six==1.16.0
threadpoolctl==2.2.0
typing-extensions==3.10.0.0
Werkzeug==2.0.1
zipp==3.5.0

These are requirements of the flask web application. It works finely on my local server. But when i try to deploy in the heroku platform, it ended up with these errors.

Help me out with these errors and I wanted to deploy in the Heroku

1 Answer 1

1

I had the exact same error. Removing the version of the scipy specified in my requirements.txt helped in my case. I hit errors with other packages each of which I resolved by removing the version number.

Reference : Heroku Upload - Could not find a version that satisfies the requirement anaconda-client==1.4.0

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.