1
resposta

Erro no docker-compose - spacy

api-1 | ModuleNotFoundError: No module named 'consumidor_redis' api-1 exited with code 1 kafka-1 exited with code 1 consumer-1 | Traceback (most recent call last): consumer-1 | File "/app/consumo_redis.py", line 10, in consumer-1 | import funcoes_app consumer-1 | File "/app/funcoes_app.py", line 47, in consumer-1 | nlp = spacy.load('pt_core_news_md') consumer-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consumer-1 | File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.11/site-packages/spacy/init.py", line 51, in load consumer-1 | return util.load_model( consumer-1 | ^^^^^^^^^^^^^^^^ consumer-1 | File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.11/site-packages/spacy/util.py", line 472, in load_model consumer-1 | raise IOError(Errors.E050.format(name=name)) consumer-1 | OSError: [E050] Can't find model 'pt_core_news_md'. It doesn't seem to be a Python package or a valid path to a data directory. producer-1 | Traceback (most recent call last): producer-1 | File "/app/envio_redis.py", line 9, in producer-1 | import funcoes_app producer-1 | File "/app/funcoes_app.py", line 47, in producer-1 | nlp = spacy.load('pt_core_news_md') producer-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ producer-1 | File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.11/site-packages/spacy/init.py", line 51, in load producer-1 | return util.load_model( producer-1 | ^^^^^^^^^^^^^^^^ producer-1 | File "/root/.local/share/virtualenvs/app-4PlAip0Q/lib/python3.11/site-packages/spacy/util.py", line 472, in load_model producer-1 | raise IOError(Errors.E050.format(name=name)) producer-1 | OSError: [E050] Can't find model 'pt_core_news_md'. It doesn't seem to be a Python package or a valid path to a data directory. producer-1 exited with code 1 consumer-1 exited with code 1

1 resposta

Olá, Julia!

Parece que você está enfrentando dois problemas principais no seu ambiente Docker: um módulo não encontrado e um modelo do spaCy que não está sendo carregado corretamente.

  1. ModuleNotFoundError: No module named 'consumidor_redis': Isso indica que o Python não está conseguindo encontrar o módulo consumidor_redis. Certifique-se de que o módulo está no mesmo diretório que o seu script ou que o caminho para ele está corretamente configurado no seu PYTHONPATH. Verifique também se o nome do arquivo está correto e se não há erros de digitação.

  2. OSError: [E050] Can't find model 'pt_core_news_md': Esse erro ocorre porque o spaCy não consegue encontrar o modelo 'pt_core_news_md'. Para resolver isso, você precisa garantir que o modelo esteja instalado no ambiente onde o Docker está sendo executado. Você pode fazer isso adicionando uma linha no seu Dockerfile ou no seu script de inicialização para instalar o modelo. Por exemplo:

    python -m spacy download pt_core_news_md
    

    Certifique-se de que essa linha é executada durante o build da sua imagem Docker ou na inicialização do seu container.

Além disso, verifique se o seu docker-compose.yml está configurado corretamente para instalar as dependências necessárias e se o seu ambiente virtual está sendo ativado corretamente dentro do container.

Bons estudos!