Requirement:以能够安装rpy2库,因为要与Airflow协调的代码广泛使用它
Current Dockerfile个
FROM ubuntu:latest
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends build-essential r-base r-base-core r-cran-randomforest python3.6 python3-pip python3-setuptools python3-dev&& \
rm -r /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip3 install --upgrade pip==20.0.2 wheel==0.34.2 setuptools==49.6.0
RUN python3 -m pip install rpy2
RUN Rscript -e "install.packages('data.table')"
COPY . /app
Issue:我遇到了围绕必需的库的问题,这些库没有出现在代码本身中.
The Error:个
[6/8] RUN python3 -m pip install rpy2:
1.176 Collecting rpy2
1.304 Downloading rpy2-3.5.14.tar.gz (219 kB)
1.422 Installing build dependencies: started
4.186 Installing build dependencies: finished with status 'done'
4.187 Getting requirements to build wheel: started
4.225 Getting requirements to build wheel: finished with status 'error'
4.225 ERROR: Command errored out with exit status 1:
4.225 command: /usr/bin/python3 /usr/local/lib/python3.10/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpff4u1mul
4.225 cwd: /tmp/pip-install-12iwr626/rpy2
4.225 Complete output (31 lines):
4.225 Traceback (most recent call last):
4.225 File "/usr/local/lib/python3.10/dist-packages/pip/_vendor/pep517/_in_process.py", line 257, in <module>
4.225 main()
4.225 File "/usr/local/lib/python3.10/dist-packages/pip/_vendor/pep517/_in_process.py", line 240, in main
4.225 json_out['return_val'] = hook(**hook_input['kwargs'])
4.225 File "/usr/local/lib/python3.10/dist-packages/pip/_vendor/pep517/_in_process.py", line 85, in get_requires_for_build_wheel
4.225 backend = _build_backend()
4.225 File "/usr/local/lib/python3.10/dist-packages/pip/_vendor/pep517/_in_process.py", line 63, in _build_backend
4.225 obj = import_module(mod_path)
4.225 File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
4.225 return _bootstrap._gcd_import(name[level:], package, level)
4.225 File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
4.225 File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
4.225 File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
4.225 File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
4.225 File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
4.225 File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
4.225 File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
4.225 File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
4.225 File "<frozen importlib._bootstrap_external>", line 883, in exec_module
4.225 File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
4.225 File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 10, in <module>
4.225 import distutils.core
4.225 File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
4.225 File "<frozen importlib._bootstrap>", line 1002, in _find_and_load_unlocked
4.225 File "<frozen importlib._bootstrap>", line 945, in _find_spec
4.225 File "/usr/local/lib/python3.10/dist-packages/_distutils_hack/__init__.py", line 72, in find_spec
4.225 return self.get_distutils_spec()
4.225 File "/usr/local/lib/python3.10/dist-packages/_distutils_hack/__init__.py", line 77, in get_distutils_spec
4.225 class DistutilsLoader(importlib.util.abc.Loader):
4.225 AttributeError: module 'importlib.util' has no attribute 'abc'