1
resposta

Problema para execeutar mlflow ui

Eu comecei o curso esses dias e tentei criar o ambiente usado no curso, criei um ambiente no anaconda em minha wsl, com python 3.8 e a versão 1.13.1 do mlflow, instalei as dependências, resolvi alguns erros, mas agora simplesmente o mlflow ui não funciona mais e eu não sei porquê. Eu até havia criado um environment.yml do ambiente que funcionava, aí criei o ambiente em outra máquina ubuntu (uma EC2) e lá funciona. Na minha wsl local, não. E nela não funciona nada, se eu instalar tudo do mais recente, igual criei um outro ambiente com o python 3.11.5, a última versão do mlflow (2.7.1), mas nada funciona. O erro atual é esse, no ambiente similar ao do curso:

[2023-09-28 18:20:42 -0300] [3003] [INFO] Starting gunicorn 21.2.0
[2023-09-28 18:20:42 -0300] [3003] [INFO] Listening at: http://127.0.0.1:5000 (3003)
[2023-09-28 18:20:42 -0300] [3003] [INFO] Using worker: sync
[2023-09-28 18:20:42 -0300] [3005] [INFO] Booting worker with pid: 3005
[2023-09-28 18:20:42 -0300] [3005] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
    worker.init_process()
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/vagnerresende/.local/lib/python3.8/site-packages/gunicorn/util.py", line 371, in import_app
    mod = importlib.import_module(module)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mlflow'
[2023-09-28 18:20:42 -0300] [3005] [INFO] Worker exiting (pid: 3005)
[2023-09-28 18:20:42 -0300] [3003] [ERROR] Worker (pid:3005) exited with code 3
[2023-09-28 18:20:42 -0300] [3003] [ERROR] Shutting down: Master
[2023-09-28 18:20:42 -0300] [3003] [ERROR] Reason: Worker failed to boot.
Running the mlflow server failed. Please see the logs above for details.

Alguém consegue me ajudar? Não faço ideia do que está rolando.

1 resposta

Oii, Vagner! Tudo bem?

Segundo o erro apresentado ModuleNotFoundError: No module named 'mlflow' ele indica que o Python não está conseguindo encontrar o módulo mlflo. Isso pode ocorrer a várias razões, como o ambiente Python não estar configurado corretamente ou o módulo mlflow não estar instalado no ambiente em que precisa ser executado.

Veja algumas soluções que pode-se testar:

  • Verifique se o módulo 'mlflow' está instalado no ambiente correto, com o comando:
pip show mlflow

Caso não retorne nada quer dizer que o mesmo não foi instalado. E para instalá-lo no ambiente, use o comando:

pip install mlflow
  • Se ele estiver instalado, retornará informações sobre o módulo mlflow. Então podemos considerar que o Python não está encontrando o caminho para o módulo. Para verfificar, você pode comparar o caminho do Python ( wich python) com o caminho do módulo mlflow ( pip show mlflow | grep location).

Obs: Caso os caminhos forem diferentes, adicione o caminho do módulo mlflow ao PYTHONPATH, usando o comando:

export PYTHONPATH=$PYTHONPATH:/caminho/para/o/módulo/mlflow

Após realizar todas as sugestões acima e nenhuma dar certo, é possível que o problema esteja na instalação do módulo. Então, tente desinstalar e reinstalar novamente o mlflow, usando os seguintes comandos:

pip uninstall mlflow
pip install mlflow

É bem comum ocorrer alguns bugs na instalação de algum pacote e isso pode resolver caso haja uma instabilidade.

Espero que umas das dicas te ajude. Continue interagindo no fórum compartilhando suas dúvidas, projetos e feedback.

Bons estudos, Vagner!