我在运行dockerfile时遇到以下运行时错误
“yarl 1.4+需要Python 3.5+”
当Docker试图为我的映像安装slackclient要求时,就会发生这种情况
我的机器上已经安装了python 3.8
我做错了什么
以下是dockerfile:
FROM ubuntu:trusty
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN apt-get update && \
apt-get -y install \
python3 \
python3-pip \
make \
build-essential \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
wget \
curl \
llvm \
libncurses5-dev \
zip \
git-core \
supervisor \
sqlite
RUN mkdir -p /tmp
COPY requirements.txt /tmp/requirements.txt
RUN pip3 install -r /tmp/requirements.txt
COPY deployment/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN mkdir -p /opt/wwc
ADD . /opt/wwc/apartment-finder
RUN mkdir -p /opt/wwc/logs
WORKDIR /opt/wwc/apartment-finder
CMD ["/usr/bin/supervisord"]
以下是完整的错误消息:
Running setup.py (path:/tmp/pip_build_root/yarl/setup.py) egg_info for package yarl
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/tmp/pip_build_root/yarl/setup.py", line 10, in <module>
raise RuntimeError("yarl 1.4+ requires Python 3.5+")
RuntimeError: yarl 1.4+ requires Python 3.5+
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/tmp/pip_build_root/yarl/setup.py", line 10, in <module>
raise RuntimeError("yarl 1.4+ requires Python 3.5+")
RuntimeError: yarl 1.4+ requires Python 3.5+
机器上的python版本与问题无关。问题在于您试图构建的容器中的python版本。容器无权访问系统的python
Ubuntu Trusty Tahr也被称为14.04。你可以把这个版本当作2014年4月发布的日期。你不应该使用14.04,因为它已经到了生命的尽头。此外,python 3.5在2015年9月14.04发布后发布
因此,解决方案是使用较新的基本映像。你有很多选择,但是如果你想坚持使用ubuntu,那么你可以使用最新的长期支持(LTS)版本,20.04。为此,请将
FROM
指令更改为FROM ubuntu:20.04
。Ubuntu 20.04使用Python 3.8相关问题 更多 >
编程相关推荐