我正在尝试使用pip install apache-airflow
的推荐方式安装apache-airflow。在安装摆锤(依赖项)期间,出现错误:
error: can't copy 'pendulum/parsing': doesn't exist or not a regular file
我认为它与Python distutils error: "[directory]... doesn't exist or not a regular file"有关,但是对于使用pip时如何解决此问题并没有给出答案。拉动tar进行摆锤并使用python setup.py install
安装是可行的,但是随后当我再次执行pip install apache-airflow
时,它会看到已经安装了摆锤UNINSTALLS,然后尝试使用pip再次安装,结果是同样的错误。在执行任何操作之前,我正在使用docker容器并使用apt-get安装python-setuptools。这是我的dockerfile,fwiw ...
FROM phusion/baseimage:0.10.1
MAINTAINER a curious dev
RUN apt-get update && apt-get install -y python-setuptools python-pip python-dev libffi-dev libssl-dev zip wget
ENV SLUGIFY_USES_TEXT_UNIDECODE=yes
RUN wget https://files.pythonhosted.org/packages/5b/57/71fc910edcd937b72aa0ef51c8f5734fbd8c011fa1480fce881433847ec8/pendulum-2.0.4.tar.gz
RUN tar -xzvf pendulum-2.0.4.tar.gz
RUN cd pendulum-2.0.4/ && python setup.py install
RUN pip install apache-airflow
CMD airflow initdb && airflow webserver -p 8080
有人看到我在做什么错吗?我没有发现其他任何人遇到此错误,所以我认为我确实缺少一些明显的东西。感谢您的阅读。
答案 0 :(得分:1)
首先升级pip
。
FROM phusion/baseimage:0.10.1
RUN apt-get update && apt-get install -y python-setuptools python-pip python-dev libffi-dev libssl-dev zip wget
ENV SLUGIFY_USES_TEXT_UNIDECODE=yes
RUN pip install -U pip
RUN pip install apache-airflow
CMD airflow initdb && airflow webserver -p 8080
似乎对我来说很好。