Похоже, существует проблема, зарегистрированная с текущий пакет Confluent-Kafka на pypi:
У меня есть Dockerfile со следующим кодом, который работал до тех пор, пока не возникла проблема:
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& ./configure --prefix /usr \
&& make \
&& make install \
&& cd .. \
&& rm -rf librdkafka
RUN apk --update add \
......
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
confluent-kafka\
ERROR after the issue: Command errored out with exit status 1:
command: /usr/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] =
'"'"'/tmp/pip-req-build-14u6lptl/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-
14u6lptl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)
(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code,
__file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-req-build-14u6lptl/pip-egg-info
cwd: /tmp/pip-req-build-14u6lptl/
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-14u6lptl/setup.py", line 12, in <module>
with open(os.path.join(mod_dir, 'requirements.txt')) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-req-build-
14u6lptl/confluent_kafka/requirements.txt'
На странице github, посвященной проблеме, были сделаны некоторые предложения по ее устранению, которые я пробовал следующим образом:
1) обходной путь, который не сработал :
ENV LIBRDKAFKA_VERSION v1.4.0 \
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& git checkout $LIBRDKAFKA_VERSION \
&& ./configure --install-deps --prefix /usr \
&& make \
&& make install
RUN apk --update add \
......
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
confluent-kafka\
....
2) обходной путь который не сработал :
ENV LIBRDKAFKA_VERSION v1.4.0 \
RUN cd /tmp && git clone https://github.com/edenhill/librdkafka.git \
&& cd librdkafka \
&& git checkout $LIBRDKAFKA_VERSION \
&& ./configure --install-deps --prefix /usr \
&& make \
&& make install
RUN apk --update add \
.....
pip3 install -U setuptools &&\
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]\
--no-binary :all: -i https://test.pypi.org/simple/ confluent-kafka==v1.4.0.1 \
....
ERROR:
Service 'xxxx' failed to build: The command '/bin/sh -c apk --update add
avro-python3
confluent-kafka[avro]
--no-binary :all: -i https://test.pypi.org/simple/ confluent-kafka==v1.4.0.1
returned a non-zero code: 1
Мне интересно, есть ли обходной путь, который я не пробовал, чтобы кто-то мог предложить мне помочь, пока они не исправят эту проблему.
1 ответ
Просто закрепите старую версию, пока они не выпустят новую версию:
pip3 install --upgrade pip \
avro-python3\
confluent-kafka[avro]==1.3.0\
Также обратите внимание, что установка как основного пакета (confluent-kafka
), так и пакета с дополнительным (confluent-kafka[avro]
) не требуется, вам просто нужно установить пакет с дополнительным. По сути, вы устанавливаете его дважды.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.