Closed ghost closed 1 year ago
The dataclasses package is actually a backport for Python 3.6, Python >=3.7 has dataclasses included into the standard library and does not actually need to be installed as a separate package. I'll look into making it a conditional dependency for Python 3.6 only.
For the base Docker image used in the Dockerfile, the image tag can be changed from python3.6
to python3.7
or python3.8
(see tiangolo/meinheld-gunicorn-flask on Docker Hub). I had chosen this Docker image as a base because it included Meinheld and Gunicorn to act as a WSGI server. I'll have to look at ARM support and see if there is an alternative.
@rockerguy1978 Support for Python 3.7, 3.8, 3.9 should be fixed with commit 1bb1cad - the dataclasses package will be excluded for these versions as it does not need to be installed. Note that Python 3.10 may have issues with numpy and building wheels so I would avoid that version for now.
Thanks. No longer receiving that error related to the dataclass library. However, still experiencing issues. Numpy/pandas kept failing to install. I'm just going to move running this off my arm system (raspberry pi 2b) and run it in docker on another computer. Having some issues with that at the moment too. I'll open another issue.
Here's the failed output if you're interested in continuing troubleshooting this:
topsecretuser@ubuntu:~/scripts/new_kijijireposter$ python3.7 -m venv .venv
topsecretuser@ubuntu:~/scripts/new_kijijireposter$ source .venv/bin/activate
(.venv) topsecretuser@ubuntu:~/scripts/new_kijijireposter$ python
Python 3.7.13 (default, Apr 24 2022, 01:06:43)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(.venv) topsecretuser@ubuntu:~/scripts/new_kijijireposter$ pip install -r kijiji-manager/requirements.txt --no-cache-dir
Collecting pandas
Using cached pandas-1.3.5.tar.gz (4.7 MB)
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [408 lines of output]
Using legacy 'setup.py install' for numpy, since package 'wheel' is not installed.
Installing collected packages: wheel, setuptools, numpy, Cython, oldest-supported-numpy
Running setup.py install for numpy: started
Running setup.py install for numpy: finished with status 'error'
error: subprocess-exited-with-error
× Running setup.py install for numpy did not run successfully.
│ exit code: 1
╰─> [375 lines of output]
Running from numpy source directory.
Note: if you need reliable uninstall behavior, then install
with pip instead of using `setup.py install`:
Collecting pandas
Downloading pandas-1.3.5.tar.gz (4.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 4.5 MB/s eta 0:00:00
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [408 lines of output]
Collecting setuptools>=51.0.0
Using cached setuptools-62.3.2-py3-none-any.whl (1.2 MB)
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting Cython<3,>=0.29.24
Using cached Cython-0.29.30-py2.py3-none-any.whl (985 kB)
Collecting oldest-supported-numpy>=0.10
Using cached oldest_supported_numpy-2022.4.18-py3-none-any.whl (3.9 kB)
Collecting numpy==1.14.5
Using cached numpy-1.14.5.zip (4.9 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Using legacy 'setup.py install' for numpy, since package 'wheel' is not installed.
Installing collected packages: wheel, setuptools, numpy, Cython, oldest-supported-numpy
Running setup.py install for numpy: started
Running setup.py install for numpy: finished with status 'error'
error: subprocess-exited-with-error
× Running setup.py install for numpy did not run successfully.
│ exit code: 1
╰─> [375 lines of output]
Running from numpy source directory.
Note: if you need reliable uninstall behavior, then install
with pip instead of using `setup.py install`:
- `pip install .` (from a git repo or downloaded source
release)
- `pip install numpy` (last NumPy release on PyPi)
blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
blis_info:
customize UnixCCompiler
libraries blis not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
openblas_info:
customize UnixCCompiler
customize UnixCCompiler
libraries openblas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
libraries tatlas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
atlas_3_10_blas_info:
customize UnixCCompiler
libraries satlas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
libraries ptf77blas,ptcblas,atlas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
atlas_blas_info:
customize UnixCCompiler
libraries f77blas,cblas,atlas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/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()
blas_info:
customize UnixCCompiler
libraries blas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/system_info.py:624: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
self.calc_info()
blas_src_info:
NOT AVAILABLE
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/system_info.py:624: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
self.calc_info()
NOT AVAILABLE
/bin/sh: 1: svnversion: not found
non-existing path in 'numpy/distutils': 'site.cfg'
/bin/sh: 1: svnversion: not found
F2PY Version 2
lapack_opt_info:
lapack_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
openblas_lapack_info:
customize UnixCCompiler
customize UnixCCompiler
libraries openblas not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
openblas_clapack_info:
customize UnixCCompiler
customize UnixCCompiler
libraries openblas,lapack not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
libraries tatlas,tatlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
customize UnixCCompiler
libraries lapack_atlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
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/arm-linux-gnueabihf
customize UnixCCompiler
libraries lapack_atlas not found in /usr/lib/arm-linux-gnueabihf
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
NOT AVAILABLE
atlas_3_10_info:
customize UnixCCompiler
libraries satlas,satlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
customize UnixCCompiler
libraries lapack_atlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
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/arm-linux-gnueabihf
customize UnixCCompiler
libraries lapack_atlas not found in /usr/lib/arm-linux-gnueabihf
<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 /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
customize UnixCCompiler
libraries lapack_atlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
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/arm-linux-gnueabihf
customize UnixCCompiler
libraries lapack_atlas not found in /usr/lib/arm-linux-gnueabihf
<class 'numpy.distutils.system_info.atlas_threads_info'>
NOT AVAILABLE
atlas_info:
customize UnixCCompiler
libraries f77blas,cblas,atlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
customize UnixCCompiler
libraries lapack_atlas not found in /home/topsecretuser/scripts/new_kijijireposter/.venv/lib
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/arm-linux-gnueabihf
customize UnixCCompiler
libraries lapack_atlas not found in /usr/lib/arm-linux-gnueabihf
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
customize UnixCCompiler
libraries lapack not found in ['/home/topsecretuser/scripts/new_kijijireposter/.venv/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/arm-linux-gnueabihf']
NOT AVAILABLE
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/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()
lapack_src_info:
NOT AVAILABLE
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/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()
NOT AVAILABLE
/usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
creating build
creating build/src.linux-armv7l-3.7
creating build/src.linux-armv7l-3.7/numpy
creating build/src.linux-armv7l-3.7/numpy/distutils
building library "npymath" sources
get_default_fcompiler: matching types: '['gnu95', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu', 'g95', 'pathf95', 'nagfor']'
customize Gnu95FCompiler
Could not locate executable gfortran
Could not locate executable f95
customize IntelFCompiler
Could not locate executable ifort
Could not locate executable ifc
customize LaheyFCompiler
Could not locate executable lf95
customize PGroupFCompiler
Could not locate executable pgfortran
customize AbsoftFCompiler
Could not locate executable f90
Could not locate executable f77
customize NAGFCompiler
customize VastFCompiler
customize CompaqFCompiler
Could not locate executable fort
customize IntelItaniumFCompiler
Could not locate executable efort
Could not locate executable efc
customize IntelEM64TFCompiler
customize GnuFCompiler
Could not locate executable g77
customize G95FCompiler
Could not locate executable g95
customize PathScaleFCompiler
Could not locate executable pathf95
customize NAGFORCompiler
Could not locate executable nagfor
don't know how to compile Fortran code on platform 'posix'
C compiler: arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/topsecretuser/scripts/new_kijijireposter/.venv/include -I/usr/include/python3.7m -c'
arm-linux-gnueabihf-gcc: _configtest.c
arm-linux-gnueabihf-gcc _configtest.o -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
C compiler: arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/topsecretuser/scripts/new_kijijireposter/.venv/include -I/usr/include/python3.7m -c'
arm-linux-gnueabihf-gcc: _configtest.c
_configtest.c:1:5: warning: conflicting types for built-in function ‘exp’; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
1 | int exp (void);
| ^~~
_configtest.c:1:1: note: ‘exp’ is declared in header ‘<math.h>’
+++ |+#include <math.h>
1 | int exp (void);
arm-linux-gnueabihf-gcc _configtest.o -o _configtest
/usr/bin/ld: _configtest.o: in function `main':
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/_configtest.c:6: undefined reference to `exp'
collect2: error: ld returned 1 exit status
/usr/bin/ld: _configtest.o: in function `main':
/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/_configtest.c:6: undefined reference to `exp'
collect2: error: ld returned 1 exit status
failure.
removing: _configtest.c _configtest.o
C compiler: arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/topsecretuser/scripts/new_kijijireposter/.venv/include -I/usr/include/python3.7m -c'
arm-linux-gnueabihf-gcc: _configtest.c
_configtest.c:1:5: warning: conflicting types for built-in function ‘exp’; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
1 | int exp (void);
| ^~~
_configtest.c:1:1: note: ‘exp’ is declared in header ‘<math.h>’
+++ |+#include <math.h>
1 | int exp (void);
arm-linux-gnueabihf-gcc _configtest.o -lm -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
creating build/src.linux-armv7l-3.7/numpy/core
creating build/src.linux-armv7l-3.7/numpy/core/src
creating build/src.linux-armv7l-3.7/numpy/core/src/npymath
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npymath/npy_math_internal.h
adding 'build/src.linux-armv7l-3.7/numpy/core/src/npymath' to include_dirs.
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npymath/ieee754.c
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npymath/npy_math_complex.c
None - nothing done with h_files = ['build/src.linux-armv7l-3.7/numpy/core/src/npymath/npy_math_internal.h']
building library "npysort" sources
creating build/src.linux-armv7l-3.7/numpy/core/src/npysort
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npysort/quicksort.c
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npysort/mergesort.c
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npysort/heapsort.c
creating build/src.linux-armv7l-3.7/numpy/core/src/private
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/private/npy_partition.h
adding 'build/src.linux-armv7l-3.7/numpy/core/src/private' to include_dirs.
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npysort/selection.c
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/private/npy_binsearch.h
conv_template:> build/src.linux-armv7l-3.7/numpy/core/src/npysort/binsearch.c
None - nothing done with h_files = ['build/src.linux-armv7l-3.7/numpy/core/src/private/npy_partition.h', 'build/src.linux-armv7l-3.7/numpy/core/src/private/npy_binsearch.h']
building extension "numpy.core._dummy" sources
Generating build/src.linux-armv7l-3.7/numpy/core/include/numpy/config.h
C compiler: arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/topsecretuser/scripts/new_kijijireposter/.venv/include -I/usr/include/python3.7m -c'
arm-linux-gnueabihf-gcc: _configtest.c
_configtest.c:1:10: fatal error: Python.h: No such file or directory
1 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
_configtest.c:1:10: fatal error: Python.h: No such file or directory
1 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
failure.
removing: _configtest.c _configtest.o
Traceback (most recent call last):
File "<string>", line 36, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/setup.py", line 394, in <module>
setup_package()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/setup.py", line 386, in setup_package
setup(**metadata)
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/core.py", line 169, in setup
return old_setup(**new_attr)
File "/home/topsecretuser/scripts/new_kijijireposter/.venv/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/install.py", line 62, in run
r = self.setuptools_run()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/install.py", line 36, in setuptools_run
return distutils_install.run(self)
File "/usr/lib/python3.7/distutils/command/install.py", line 589, in run
self.run_command('build')
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/build.py", line 47, in run
old_build.run(self)
File "/usr/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/build_src.py", line 148, in run
self.build_sources()
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/build_src.py", line 165, in build_sources
self.build_extension_sources(ext)
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/build_src.py", line 324, in build_extension_sources
sources = self.generate_sources(sources, ext)
File "/tmp/pip-install-sua1ytps/numpy_b374ef74b7e34bca90bbc53b157be0ed/numpy/distutils/command/build_src.py", line 377, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 422, in generate_config_h
moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir)
File "numpy/core/setup.py", line 48, in check_types
out = check_types(*a, **kw)
File "numpy/core/setup.py", line 281, in check_types
"install {0}-dev|{0}-devel.".format(python))
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> numpy
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
WARNING: You are using pip version 22.0.4; however, version 22.1.1 is available.
You should consider upgrading via the '/home/topsecretuser/scripts/new_kijijireposter/.venv/bin/python3.7 -m pip install --upgrade pip' command.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies 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.
WARNING: You are using pip version 22.0.4; however, version 22.1.1 is available.
You should consider upgrading via the '/home/topsecretuser/scripts/new_kijijireposter/.venv/bin/python3.7 -m pip install --upgrade pip' command.
Do you have the wheel
Python package installed in your virtualenv?
It appears to be trying to build numpy locally but you're missing a lot of system packages it needs to do so. If you had the wheel
Python package it should be able to use the precompiled numpy wheel and avoid having to build numpy from source.
So just tried building a new venv. First thing I did was install wheel:
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.37.1
After that I did pip install .
as per the installation instructions. It failed with similar output:
(.venv) topsecretuser@ubuntu:~/scripts/kijiji-manager$ pip install .
Processing /home/topsecretuser/scripts/kijiji-manager
Preparing metadata (setup.py) ... done
Collecting Flask-Executor
Using cached Flask_Executor-0.10.0-py3-none-any.whl (9.3 kB)
Collecting Flask-Login
Using cached Flask_Login-0.6.1-py3-none-any.whl (17 kB)
Collecting Flask-WTF>=0.15
Using cached Flask_WTF-1.0.1-py3-none-any.whl (12 kB)
Collecting Flask~=2.0.0
Using cached Flask-2.0.3-py3-none-any.whl (95 kB)
Collecting WTForms>=2.3
Using cached WTForms-3.0.1-py3-none-any.whl (136 kB)
Collecting httpx~=0.22.0
Using cached httpx-0.22.0-py3-none-any.whl (84 kB)
Collecting is-safe-url
Using cached is_safe_url-1.0-py3-none-any.whl (5.4 kB)
Collecting pgeocode
Using cached pgeocode-0.3.0-py3-none-any.whl (8.5 kB)
Collecting phonenumbers
Using cached phonenumbers-8.12.51-py2.py3-none-any.whl (2.6 MB)
Collecting xmltodict>=0.11
Using cached xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB)
Collecting Werkzeug>=2.0
Using cached Werkzeug-2.1.2-py3-none-any.whl (224 kB)
Collecting click>=7.1.2
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting itsdangerous>=2.0
Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting Jinja2>=3.0
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting certifi
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting httpcore<0.15.0,>=0.14.5
Using cached httpcore-0.14.7-py3-none-any.whl (68 kB)
Collecting charset-normalizer
Using cached charset_normalizer-2.1.0-py3-none-any.whl (39 kB)
Collecting rfc3986[idna2008]<2,>=1.3
Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)
Collecting sniffio
Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting MarkupSafe
Using cached MarkupSafe-2.1.1.tar.gz (18 kB)
Preparing metadata (setup.py) ... done
Collecting requests
Downloading requests-2.28.1-py3-none-any.whl (62 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 KB 323.0 kB/s eta 0:00:00
Collecting numpy
Downloading numpy-1.23.1.tar.gz (10.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.7/10.7 MB 449.8 kB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pandas
Using cached pandas-1.4.3.tar.gz (4.9 MB)
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [294 lines of output]
Collecting setuptools>=51.0.0
Downloading setuptools-63.2.0-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB ? eta 0:00:00
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting Cython<3,>=0.29.24
Using cached Cython-0.29.30-py2.py3-none-any.whl (985 kB)
Collecting oldest-supported-numpy>=0.10
Using cached oldest_supported_numpy-2022.5.28-py3-none-any.whl (3.9 kB)
Collecting numpy==1.21.6
Using cached numpy-1.21.6.zip (10.3 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: 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 metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: numpy
Building wheel for numpy (pyproject.toml): started
Building wheel for numpy (pyproject.toml): still running...
Building wheel for numpy (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Building wheel for numpy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [257 lines of output]
setup.py:63: RuntimeWarning: NumPy 1.21.6 may not yet support Python 3.10.
warnings.warn(
Running from numpy source directory.
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/tools/cythonize.py:69: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.version import LooseVersion
Processing numpy/random/_bounded_integers.pxd.in
Processing numpy/random/_philox.pyx
Processing numpy/random/_mt19937.pyx
Processing numpy/random/_bounded_integers.pyx.in
Processing numpy/random/mtrand.pyx
Processing numpy/random/_common.pyx
Processing numpy/random/_pcg64.pyx
Processing numpy/random/_sfc64.pyx
Processing numpy/random/bit_generator.pyx
Processing numpy/random/_generator.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
blis_info:
libraries blis not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_info:
libraries openblas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
accelerate_info:
NOT AVAILABLE
atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
libraries tatlas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_3_10_blas_info:
libraries satlas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/system_info.py:2026: UserWarning:
Optimized (vendor) Blas libraries are not found.
Falls back to netlib Blas library which has worse performance.
A better performance should be easily gained by switching
Blas library.
if self._calc_info(blas):
blas_info:
libraries blas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/system_info.py:2026: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
if self._calc_info(blas):
blas_src_info:
NOT AVAILABLE
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/system_info.py:2026: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
if self._calc_info(blas):
NOT AVAILABLE
non-existing path in 'numpy/distutils': 'site.cfg'
lapack_opt_info:
lapack_mkl_info:
libraries mkl_rt not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_lapack_info:
libraries openblas not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_clapack_info:
libraries openblas,lapack not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
flame_info:
libraries flame not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries tatlas,tatlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries lapack_atlas not found in /usr/local/lib
libraries tatlas,tatlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries tatlas,tatlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
NOT AVAILABLE
atlas_3_10_info:
libraries lapack_atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries satlas,satlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries lapack_atlas not found in /usr/local/lib
libraries satlas,satlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries satlas,satlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_info'>
NOT AVAILABLE
atlas_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries ptf77blas,ptcblas,atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries lapack_atlas not found in /usr/local/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_threads_info'>
NOT AVAILABLE
atlas_info:
libraries lapack_atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries f77blas,cblas,atlas not found in /home/topsecretuser/scripts/kijiji-manager/.venv/lib
libraries lapack_atlas not found in /usr/local/lib
libraries f77blas,cblas,atlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries f77blas,cblas,atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
libraries lapack not found in ['/home/topsecretuser/scripts/kijiji-manager/.venv/lib', '/usr/local/lib', '/usr/lib']
NOT AVAILABLE
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/system_info.py:1858: 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.
return getattr(self, '_calc_info_{}'.format(name))()
lapack_src_info:
NOT AVAILABLE
/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/system_info.py:1858: 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.
return getattr(self, '_calc_info_{}'.format(name))()
NOT AVAILABLE
numpy_linalg_lapack_lite:
FOUND:
language = c
Warning: attempted relative import with no known parent package
/usr/lib/python3.10/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
creating build
creating build/src.linux-armv7l-3.10
creating build/src.linux-armv7l-3.10/numpy
creating build/src.linux-armv7l-3.10/numpy/distutils
building library "npymath" sources
Could not locate executable gfortran
Could not locate executable f95
Could not locate executable ifort
Could not locate executable ifc
Could not locate executable lf95
Could not locate executable pgfortran
Could not locate executable nvfortran
Could not locate executable f90
Could not locate executable f77
Could not locate executable fort
Could not locate executable efort
Could not locate executable efc
Could not locate executable g77
Could not locate executable g95
Could not locate executable pathf95
Could not locate executable nagfor
Could not locate executable frt
don't know how to compile Fortran code on platform 'posix'
[Errno 2] No such file or directory: 'arm-linux-gnueabihf-gcc'
Traceback (most recent call last):
File "/tmp/tmpt_au_y3o_in_process.py", line 363, in <module>
main()
File "/tmp/tmpt_au_y3o_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/tmp/tmpt_au_y3o_in_process.py", line 261, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 230, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 215, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 267, in run_setup
super(_BuildMetaLegacyBackend,
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 158, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 448, in <module>
setup_package()
File "setup.py", line 440, in setup_package
setup(**metadata)
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/core.py", line 169, in setup
return old_setup(**new_attr)
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-94dv8z5o/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/command/build.py", line 61, in run
old_build.run(self)
File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/command/build_src.py", line 144, in run
self.build_sources()
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/command/build_src.py", line 155, in build_sources
self.build_library_sources(*libname_info)
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/command/build_src.py", line 288, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/distutils/command/build_src.py", line 378, in generate_sources
source = func(extension, build_dir)
File "/tmp/pip-install-chvgmieq/numpy_421a53a04b084cc9ac8d453d056a9a1e/numpy/core/setup.py", line 666, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for numpy
Failed to build numpy
ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies 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.
Relevant error message: NumPy 1.21.6 may not yet support Python 3.10
Could you try using any Python version from 3.7 to 3.9 instead?
Relevant error message:
NumPy 1.21.6 may not yet support Python 3.10
NumPy precompiled wheels for Python 3.10 should now be available. I'd suggest trying to install this project package with Python 3.10 again.
I had been using this project on a raspberry pi for several months. I upgraded the repo and tried to re-install the requirements file and I have had many issues since then. Some libraries fail to install (wheel failures). Updated PIP to the newest version, and still no luck either. I also received the error below on multiple different systems:
I've tried using virtual environments as well. Tried using python 3.10, 3.9, 3.7 and no luck. Tried on a couple of different systems, windows and linux.
Additionally, if possible, could the dockerfile be rebuilt to use the base python image? Current image
tiangolo/meinheld-gunicorn-flask:python3.6
does not support any ARM systems. I would prefer to use docker to avoid all these dependency issues and right now I only have access to a Raspberry Pi 3.