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:
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.
Acesse o repositório oficial da versão Windows (UB-Mannheim):
Link direto (versão 64-bit):
tesseract-ocr-w64-setup.exe
Baixe e execute o instalador.
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).
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.
Vá no seu código
hello_world.py.Suba até o topo, onde estão os
imports(perto da linha 40).Localize este bloco que eu já deixei preparado para você:
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:
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.
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) ouspa(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.
Abra o terminal no mesmo local onde você roda o bot (no VS Code ou onde for).
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:
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:
Mudei
except ImportErrorparaexcept Exception as e(pega qualquer erro).Adicionei o erro
{e}no print para lermos o que está acontecendo.Corrigi a linha do caminho para
pytesseract.tesseract_cmd(removi o.pytesseractduplicado que poderia causar erro em algumas versões).
Substitua por:
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'
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.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:
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:
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:
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:
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:
"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
Postar um comentário