Nav*_*ghi 5 python django apache-kafka
我的 Dockerized Django 应用程序遇到问题。我正在使用以下 Dockerfile 来构建我的应用程序:
FROM python:alpine
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV DJANGO_SUPERUSER_PASSWORD datahub
RUN mkdir app
WORKDIR /app
COPY ./app .
RUN mkdir -p volumes
RUN apk update
RUN apk add --no-cache gcc python3-dev musl-dev mariadb-dev
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt
RUN apk del gcc python3-dev musl-dev
CMD python3 manage.py makemigrations --noinput &&\
while ! python3 manage.py migrate --noinput; do sleep 1; done && \
python3 manage.py collectstatic --noinput &&\
python3 manage.py createsuperuser --user datahub --email admin@localhost --noinput;\
python3 manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
在我的requirements.txt 文件中:
kafka-python==2.0.2
Run Code Online (Sandbox Code Playgroud)
当我在 Docker 容器内运行应用程序时,遇到以下错误:
ModuleNotFoundError: No module named 'kafka.vendor.six.moves'
Run Code Online (Sandbox Code Playgroud)
完成错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.12/site-packages/kafka/__init__.py", line 23, in <module>
from kafka.consumer import KafkaConsumer
File "/usr/local/lib/python3.12/site-packages/kafka/consumer/__init__.py", line 3, in <module>
from kafka.consumer.group import KafkaConsumer
File "/usr/local/lib/python3.12/site-packages/kafka/consumer/group.py", line 13, in <module>
from kafka.consumer.fetcher import Fetcher
File "/usr/local/lib/python3.12/site-packages/kafka/consumer/fetcher.py", line 19, in <module>
from kafka.record import MemoryRecords
File "/usr/local/lib/python3.12/site-packages/kafka/record/__init__.py", line 1, in <module>
from kafka.record.memory_records import MemoryRecords, MemoryRecordsBuilder
File "/usr/local/lib/python3.12/site-packages/kafka/record/memory_records.py", line 27, in <module>
from kafka.record.legacy_records import LegacyRecordBatch, LegacyRecordBatchBuilder
File "/usr/local/lib/python3.12/site-packages/kafka/record/legacy_records.py", line 50, in <module>
from kafka.codec import (
File "/usr/local/lib/python3.12/site-packages/kafka/codec.py", line 9, in <module>
from kafka.vendor.six.moves import range
ModuleNotFoundError: No module named 'kafka.vendor.six.moves'
Run Code Online (Sandbox Code Playgroud)
我已经尝试过更新 Kafka 包、检查依赖关系并手动安装六个包。然而,问题仍然存在。任何人都可以提供有关如何解决此错误的见解吗?
预先感谢您的帮助!
小智 5
这似乎是一个 Python 3.12 问题,我有同样的错误,但在完全不同的上下文中。
代替
FROM python:alpine
我建议你使用
FROM python:3.11
3.12 仍然很新,有许多项目仍在尝试解决问题。
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |