ModuleNotFoundError: No module named ‘myClass'

Bom dia,
Tenho um projeto utilizando uma classe propria, que é importada dentro da bot.py, mas ao executar o projeto por uma task no orquestrador ele apresenta o erro
ModuleNotFoundError: No module named ‘myclass’. Os demais imports não apresentam o erro.

Quando executo o projeto local, não apresenta esse erro. Existe algum modo de fazer os imports desse tipo de classe?

OBS: O motivo de não estar utilizando tudo dentro do bot.py, é devido querer utilizar o modulo bot.py apenas para fazer chamadas de outras classes (Banco de dados, validadores, mascaras)

Opa @Lichiery,

Tente fazer um import relativo dos módulos que você criou

Por exemplo, ao invés de usar assim:

from meuModulo import minhaClasse

Tente fazer algo assim, incluindo o ’ . ’

from .meuModulo import minhaClasse

ou se for o caso:

from . import meuModulo

Obrigado pela resposta, dentro do bot.py ele reconheceu o meu modulo. Mas o estranho é que dentro desse modulo existe um import pyodbc e me retornou o erro ModuleNotFoundError: No module named ‘pyodbc’.

Tentei executar um pip instal pyodbc, e tenho o retorno Requirement already satisfied : pyodbc in [path python], que acredito ser o retorno de que o módulo existe.

Agradeço desde já o apoio!

OBS: Não sei se é relevante, mas se eu remover essa classe e utilizar apenas o bot.py o rpa executa corretamente, inclusive realizando as interações de alerts e finalizações da tesk com sucesso;

@Lichiery nesse caso, toda dependência externa que é utilizada precisa ser incluída no arquivo requirements.txt, essa é uma forma do Runner conseguir instalar todas as dependências necessárias pra execução do código, já que ele cria um ambiente virtual na hora de rodar a automação.

Dentro do arquivo de requirements é só incluir o nome do pacote, provavelmente já vai resolver o problema. Caso utilizar alguma outra dependência que precise ser instalada, basta seguir esse mesmo procedimento.

Deu certo, configurando o requirement.txt. obrigado pelo apoio!

1 Like