dask / fastparquet

python implementation of the parquet columnar file format.
Apache License 2.0
777 stars 178 forks source link

Getting Error FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config': 'llvm-config' #552

Open sreevidyach opened 3 years ago

sreevidyach commented 3 years ago

I am getting an error with my docker file running on Python3.7 Alpine

I have successfully installed pip-21.0

Here is the docker file:

FROM python:3.7-alpine

COPY . /DataUtil/ WORKDIR /DataUtil

RUN pip install --upgrade pip RUN python -m pip install boto3==1.16.52

RUN apk add --update curl gcc g++ \ && rm -rf /var/cache/apk/*

RUN ln -s /usr/include/locale.h /usr/include/xlocale.h

RUN pip install numpy RUN pip install fastparquet

ERROR :

Created wheel for numba: filename=numba-0.52.0-cp37-cp37m-linux_x86_64.whl size=2202781 sha256=30a91c0efb74a108482c8adcbc6c922590c23b6a96c2234c35343af5d3201d0c Stored in directory: /root/.cache/pip/wheels/36/0b/e3/7309ad825d1bc2e7e8e0c1893a68f9318c34a4ea678d86989b Building wheel for llvmlite (setup.py): started Building wheel for llvmlite (setup.py): finished with status 'error'  ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/setup.py'"'"'; file='"'"'/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-tkklsab2 cwd: /tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ Complete output (26 lines): running bdist_wheel /usr/local/bin/python /tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ffi/build.py LLVM version... Traceback (most recent call last): File "/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ffi/build.py", line 105, in main_posix out = subprocess.check_output([llvm_config, '--version']) File "/usr/local/lib/python3.7/subprocess.py", line 411, in check_output *kwargs).stdout File "/usr/local/lib/python3.7/subprocess.py", line 488, in run with Popen(popenargs, **kwargs) as process: File "/usr/local/lib/python3.7/subprocess.py", line 800, in init restore_signals, start_new_session) File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config': 'llvm-config'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ffi/build.py", line 191, in main() File "/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ffi/build.py", line 181, in main main_posix('linux', '.so') File "/tmp/pip-install-3a1h6jv7/llvmlite_45596e59896e49f59291962648a0425b/ffi/build.py", line 108, in main_posix "to the path for llvm-config" % (llvm_config,)) RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config error: command '/usr/local/bin/python' failed with exit status 1

ERROR: Failed building wheel for llvmlite

Environment:

martindurant commented 3 years ago

This apparently is a failure building numba, not a problem with fastparquet. I am surprised that you would try to build such tools in Alpine - which is not really meant for an interactive analysis environment - especially with the system python. I would recommend using miniconda python (e.g., instruction for alpine here, if that works) or using a fuller linux distribution like debian, fedora, ubuntu...