Como instalar o Pytesseract corretamente e possíveis falhas

 ⚠️ Atenção: O erro mais comum é instalar apenas a biblioteca do Python e esquecer o programa principal. O Pytesseract é apenas uma "ponte"; ele precisa do motor Tesseract-OCR instalado no seu Windows para funcionar.

Siga estes 3 passos:

Passo 1: Instalar a biblioteca Python

Abra o seu terminal (CMD, PowerShell ou o terminal do VS Code) e execute:

Bash
pip install pytesseract

(Se der erro de permissão, tente abrir o terminal como Administrador).


Passo 2: Instalar o Motor Tesseract (Obrigatório)

O Python não lê imagens sozinho. Você precisa instalar o software que faz a mágica.

  1. Acesse o repositório oficial da versão Windows (UB-Mannheim):

  2. Baixe e execute o instalador.

  3. Durante a instalação (Importante):

    • Quando chegar na tela de componentes, abra a aba "Additional Languages".

    • Procure e marque Portuguese (para ele entender acentos e cedilha do chat do Tibia).

  4. Anote o caminho: O padrão geralmente é C:\Program Files\Tesseract-OCR. Não mude isso se possível, para facilitar.


Passo 3: Conectar o Código ao Programa

Agora precisamos dizer ao seu script onde você instalou o Tesseract.

  1. Vá no seu código hello_world.py.

  2. Suba até o topo, onde estão os imports (perto da linha 40).

  3. Localize este bloco que eu já deixei preparado para você:

Python
try:
    import pytesseract # Para Leitura de Tela (OCR)
    # Se necessário, descomente e ajuste o caminho abaixo:
    # pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
except ImportError:

Ação: Remova a # da linha do tesseract_cmd para ativá-la. Deve ficar assim:

Python
try:
    import pytesseract # Para Leitura de Tela (OCR)
    # Se necessário, descomente e ajuste o caminho abaixo:
    pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
except ImportError:

Nota: Se você instalou em outro lugar, ajuste o caminho entre as aspas.


Teste Rápido

Após fazer isso, feche e abra o seu programa novamente. Se o erro "AVISO: 'pytesseract' não instalado" sumiu do console, parabéns! Os olhos do seu robô estão prontos.


Possíveis duvidas e erros de iniciantes:


 1/3 [packaging]  WARNING: The script pytesseract.exe is installed in 'C:\Users\João\AppData\Roaming\Python\Python314\Scripts' which is not on PATH.

  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Successfully installed Pillow-12.1.0 packaging-26.0 pytesseract-0.3.13

PS C:\Users\João\Documents\Wonderful>

Resposta:


Isso não é um erro, é apenas um aviso.

A linha final diz: Successfully installed Pillow-12.1.0 packaging-26.0 pytesseract-0.3.13

Isso significa que a biblioteca Python foi instalada com sucesso.

O que significa o aviso "WARNING: ... is not on PATH"?

O Windows está apenas dizendo: "Instalei uns scripts numa pasta que eu não costumo olhar automaticamente". Para o nosso uso (que é importar dentro do código Python), isso não faz a menor diferença. O Python sabe onde encontrar a biblioteca.


Em relação ao que já foi mencionado sobre a linguagem lá em cima, a primeira vai ser inglês no inicio da instalação do programa, depois em choose components você irá escolher o portuguese.

São duas coisas diferentes que você precisa alinhar:

1. No Instalador do Tesseract (O programa .exe que você está baixando):

  • A interface de instalação geralmente é em Inglês.

  • O Pulo do Gato: Durante a instalação, vai aparecer uma tela chamada "Choose Components" (Escolher Componentes).

  • Você precisa abrir a listinha "Additional Language Data" (Dados de Idioma Adicional).

  • Procure e marque a caixinha "Portuguese".

  • Se você não marcar isso na instalação, o robô vai dar erro quando tentar ler português.

2. No Nosso Programa (O Bot em Python):

  • Eu já deixei o código preparado!

  • Quando você for adicionar o passo "Ler Texto (OCR)" no bot, vai aparecer um menu suspenso (dropdown).

  • Lá você poderá selecionar entre: eng (Inglês), por (Português) ou spa (Espanhol).

Resumo: Instale o Tesseract marcando o idioma português. Depois, dentro do bot, é só selecionar "por" na caixinha que já programamos. Pode prosseguir com a instalação!


Mesmo instalado tá dando isso: AVISO: 'pytesseract' não instalado. OCR indisponível.

 Isso é um clássico caso de "Crise de Identidade do Python".

Basicamente, o Python que está rodando o seu script não é o mesmo Python onde você instalou a biblioteca. É muito comum ter 2 ou 3 versões instaladas (uma do Windows, uma do VS Code, uma do Anaconda, etc), e o pip install jogou a biblioteca na casa do vizinho.

Vamos resolver isso em 2 etapas: primeiro garantindo a instalação no lugar certo, e depois melhorando o "aviso" do código para ele nos contar a verdade sobre o erro.

Etapa 1: Forçar a instalação no Python correto

Não use apenas pip install. Vamos usar um comando que obriga o Python atual a se atualizar.

  1. Abra o terminal no mesmo local onde você roda o bot (no VS Code ou onde for).

  2. Digite e execute este comando exato: python -m pip install pytesseract (Isso diz: "Ei Python que está rodando, chame o SEU gerenciador de pacotes e instale aqui".)

Etapa 2: Melhorar o Diagnóstico no Código

O aviso atual ("não instalado") é genérico demais. Vamos pedir para o código mostrar o erro real (pode ser uma DLL faltando, erro de versão, etc).

Vá até o topo do arquivo hello_world.py, logo após os imports iniciais.

Localize este bloco:

Python
try:
    import pytesseract # Para Leitura de Tela (OCR)
    # Se necessário, descomente e ajuste o caminho abaixo:
    pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
except ImportError:
    pytesseract = None
    print("AVISO: 'pytesseract' não instalado. OCR indisponível.")

Ação: Substitua esse bloco inteiro pelo código abaixo. Note duas mudanças:

  1. Mudei except ImportError para except Exception as e (pega qualquer erro).

  2. Adicionei o erro {e} no print para lermos o que está acontecendo.

  3. Corrigi a linha do caminho para pytesseract.tesseract_cmd (removi o .pytesseract duplicado que poderia causar erro em algumas versões).

Substitua por:

Python
try:
    import pytesseract
    # Configura o caminho (ajuste se necessário)
    pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
except Exception as e:
    pytesseract = None
    print(f"ERRO OCR: Falha ao carregar 'pytesseract': {e}")

Após fazer isso, salve e rode o programa. Olhe no console (a tela preta). Agora ele vai dizer algo mais específico, como:

  • No module named 'pytesseract' (Ainda não instalou no lugar certo).

  • [WinError 5] Access is denied (Problema de permissão).

  • name 'pytesseract' is not defined (Erro de lógica).


Apareceu um aviso: 

O que clicar: 👉 Clique em "Don't show again" (Não mostrar novamente) ou apenas feche a mensagem no "X".

Por que? Você acabou de instalar a biblioteca com sucesso no seu Python principal (Global). Essa mensagem é o VS Code sugerindo criar um "Ambiente Virtual" (uma cópia isolada do Python). Embora seja uma boa prática para programadores avançados, aceitar isso agora pode desconfigurar o que acabamos de fazer, obrigando você a reinstalar tudo dentro desse novo ambiente ou configurar caminhos complexos.


Um erro novo após alterar o log:

ERRO OCR: Falha ao carregar 'pytesseract': No module named 'pytesseract'

C:\Users\João\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygame\pkgdata.py:25: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.

  from pkg_resources import resource_stream, resource_exists

pygame 2.6.1 (SDL 2.28.4, Python 3.12.6)

Hello from the pygame community. https://www.pygame.org/contribute.html

11:40:53 Sistema de Áudio (Pygame) inicializado.

Erro ao carregar UI prefs: 'MacroApp' object has no attribute 'var_tesseract_path'


  1. Erro de Lógica (AttributeError): O código está tentando carregar a configuração do Tesseract antes de criar a variável na memória. Foi um erro de ordem na edição anterior.

  2. Erro de Instalação (No module named 'pytesseract'): O seu bot está rodando numa versão do Python (3.12) diferente daquela onde instalamos a biblioteca antes.

Vamos corrigir ambos agora.


Parte 1: Correção do Código (Ordem das Linhas)

Precisamos mover a criação da variável do Tesseract para antes do carregamento das preferências.

Vá até a função def __init__(self, master: tk.Tk):. Localize onde chamamos self._load_ui_prefs() (por volta da linha 730-740).

Localize este bloco:

Python
        self.current_theme = 'litera'
        self.global_timeout_safety = 120 # Inicialização segura
        self._load_ui_prefs()

Ação: Adicione a definição da variável IMEDIATAMENTE ACIMA de self._load_ui_prefs().

O bloco deve ficar assim:

Python
        self.current_theme = 'litera'
        self.global_timeout_safety = 120 # Inicialização segura
        
        # --- FIX: Define variável ANTES de carregar ---
        self.var_tesseract_path = tk.StringVar(value=r'C:\Program Files\Tesseract-OCR\tesseract.exe')
        
        self._load_ui_prefs()

Parte 2: Limpeza do Código Duplicado

Como movemos a variável para cima, agora precisamos remover a definição antiga que ficou lá embaixo para não criar duplicidade.

Ainda em def __init__, desça até onde estavam as variáveis de IA (perto da linha 900).

Localize e APAGUE este bloco:

Python
        self.var_ocr_save_var = tk.StringVar(value="memoria_ocr") # Onde salvar o texto lido
        # NOVO: Caminho Customizável do Tesseract  <-- APAGAR
        default_tess = r'C:\Program Files\Tesseract-OCR\tesseract.exe' <-- APAGAR
        self.var_tesseract_path = tk.StringVar(value=default_tess) <-- APAGAR
        self.var_win_move_x = tk.IntVar(value=50)

O resultado final dessa área deve ficar limpo assim:

Python
        self.var_ocr_save_var = tk.StringVar(value="memoria_ocr") # Onde salvar o texto lido
        self.var_win_move_x = tk.IntVar(value=50)

Parte 3: Instalação Correta da Biblioteca

O seu log revelou o caminho exato do Python que está rodando o script: C:\Users\João\AppData\Local\Programs\Python\Python312.

Abra o seu terminal (CMD ou PowerShell) e execute exatamente este comando para instalar a biblioteca no lugar certo:

PowerShell
"C:\Users\João\AppData\Local\Programs\Python\Python312\python.exe" -m pip install pytesseract

(Copie as aspas também)

Após fazer isso, salve o código e execute novamente. O erro deve desaparecer.

Comentários

Postagens mais visitadas deste blog

Tabela com porcentagem de nutrientes em esterco de diferentes animais

Guia Completo para o Cultivo de Mirtilo, Plantio, Irrigação, Adubação e Poda

Como controlar o pH e evitar queimaduras no cultivo de mirtilo em vaso