Pythonでpytesseractを使用しようとしていますが、常に次のエラーが発生します。
raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
ただし、pytesseractとTesseractはシステムにインストールされています。
このエラーを生成するコードの例:
import cv2
import pytesseract
img = cv2.imread('1d.png')
print(pytesseract.image_to_string(img))
他の人が言及したようにパス変数に追加しようとしましたが、同じエラーを受け取りました。うまくいったのは、これを私のスクリプトに追加することでした:
pytesseract.pytesseract.tesseract_cmd = r "C:\ Program Files(x86)\ Tesseract-OCR\tesseract.exe"
pytesseract
でpip
をインストールしましたが、apt
でインストールするのを忘れたため、このエラーが発生しました。
Ubuntuの場合:
Sudo apt update
Sudo apt install tesseract-ocr
Sudo apt install libtesseract-dev
Macの場合:
brew install tesseract
おそらくマシンにtesseract-ocr
がありません。ここでインストール手順を確認してください: https://github.com/tesseract-ocr/tesseract/wiki
Macでは、homebrewを使用してインストールできます。
brew install tesseract
その後は正常に動作するはずです
Windows 10 OS環境では、次の方法が有効です。
https://github.com/tesseract-ocr/tesseract/wiki tesseractをダウンロードしてインストールします。 Windowsバージョンはこちらから入手できます: https://github.com/UB-Mannheim/tesseract/wiki
C:\ Users\User\Anaconda3\Lib\site-packages\pytesseractからスクリプトファイルpytesseract.pyを見つけて開きます。次のコードをtesseract_cmd = 'tesseract'
からtesseract_cmd = 'D:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
に変更します
環境変数D:/Program Files (x86)/Tesseract-OCR/
を追加する必要がある場合もあります
それがあなたのために働くことを願っています!
Jupyter Notebookで実際に機能していた簡単なことの1つは、pytesseract.pytesseract.tesseract_cmdパスで単一のバックスラッシュの代わりにdouble backslashを使用したことです。
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
私はMac OSで実行していて、テッセラクトをbrewでインストールしたので、これについての私の見解を示します。 pytesseractはPythonからtesseractにアクセスする方法であるため、コンピューター上のtesseractの場所を指定する必要があります。
Mac OSの場合
Tesseract.exeの場所を見つけてみてください-brewを使用してインストールした場合は、端末で次を使用します:
>brew list tesseract
Tesseract.exeがどこにあるか、多かれ少なかれどこかにリストされているはずです。
> /usr/local/Cellar/tesseract/3.05.02/bin/tesseract
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
pytesseract.pytesseract.tesseract_cmd = r '/ usr/local/Cellar/tesseract/3.05.02/bin/tesseract'
トリックを行う必要があります!
この同じ問題に直面しています。私はこのコマンドを使用するだけです。
Sudo apt install tesseract-ocr
これはUbuntuでのみ機能することに注意してください。Sudo
はUnix専用コマンド(Linux、Mac、Rasbianなど)であり、apt
はUbuntu固有です。
私は同じ問題に直面しました。 here からインストールし、pip install pytesseract
も実行したことを願っています。
すべてが順調であれば、パスC:\Program Files (x86)\Tesseract-OCR where tesseract.exe
が使用可能であることがわかります。
Path変数を追加しても役に立たなかったので、C:\Program Files (x86)\Tesseract-OCR\tesseract.exe
の値を持つ環境変数にtesseract
という名前の新しい変数を実際に追加しました。
コマンドラインでtesseract
を入力すると、使用方法の情報が表示され、期待どおりに動作するようになります。これでpytesseract
を使用できます(これを実行する前にpythonカーネルを再起動することを忘れないでください!):
import pytesseract
from PIL import Image
value=Image.open("text_image.png")
text = pytesseract.image_to_string(value, config='')
print("text present in images:",text)
楽しい!
Mac用:
これでうまくいくはずです。
次のリンクを使用してtesseract-ocrセットアップをダウンロードできます。
次に、値がC:\ Program Files(x86)\ Tesseract-OCR\tesseract.exeの環境変数にtesseractという名前の新しい変数を追加します
次の3つのコマンドが必要なことを行います。
Sudo apt update
# This will update your packages
Sudo apt install tesseract-ocr
# This will install OCR
Sudo apt install libtesseract-dev
# This will add it as development dependency
https://github.com/UB-Mannheim/tesseract/wiki からtesseractをインストールし、Path環境変数にtesseract.exeのパスを追加します。
注意:Windowsのみ
今日私はこの問題に遭遇し、ここで言及されたすべての答えが私を助けましたが、私はそれを解決するために個人的に多くを掘らなければなりませんでした。だから、非常に簡単な形で解決策を出すことで、他のすべての人を助けよう:
here から実行可能64ビット(コンピューターが32ビットの場合は32ビット)exeをダウンロードします。
(ファイルの名前はtesseract-ocr-w64-setup-v5.0.0.20190526(alpha))
それをインストールします。デフォルトのCディレクトリに自身をインストールします。
次に、環境変数に移動します(スタートメニューで検索するか、Control Panel > System > Advanced System Settings > Environment Variables
に移動して、そこに到達します)
a)PATHを選択して編集します。 [新規]をクリックし、インストール先のパスを追加します(通常はC:\Program Files\Tesseract-OCR\
)
これでエラーは発生しません!
小さな間違い-cmdを開いたり閉じたりして、更新されたパスを反映させる必要があることは知っていました。 Jupyter Notebookを使用して、クライアントをシャットダウンし、再初期化する必要がありました。
これは、現在のディレクトリがtesseractがインストールされているドライブとは異なるドライブにある場合、Windowsで(少なくともtesseractバージョン3.05で)発生します。
Tesseractの何かは、データファイルが\ Program Files ...にあることを期待しています(C:\ Program Filesではなく、たとえば)。したがって、tesseractと同じドライブ文字を使用していない場合、失敗します。 tesseractを実行する前に一時的にドライブ(Windowsのみ)をtesseractインストールドライブに変更し、その後に変更することで回避できるとしたら素晴らしいでしょう。あなたの場合の例:yourmodule_python.pyを「C/Program Files(x86)/ Tesseract-OCR /」にコピーして実行できます!
Pythonの異なるバージョンがインストールされている可能性が高いため、インストールされているTesseractが同じPythonバージョン上にあることを確認してください。
which pip3
はpip3インストールへのパスを示し、which python3
はPythonインストールへの対応するパスを示します。
これら2つが同じであることを確認してください。
インポートしていますか
from tesseract import image_to_string
Pytesseractからインポートしないでください
現在Windowsを使用しており、PDFパーサーを開発する必要がありましたが、sysdm.cpl
だけで新しい環境変数を追加しても機能しませんでした。他のWindowsユーザーには、C:\Program Files (x86)\Tesseract-OCR
をprofile.ps1
に追加することを強くお勧めします(Powershellを使用している場合)。
Pytesseractを使用してテキスト抽出プログラムを作成しようとしたときにも同じエラーに直面していましたが、pypiのpytesseractのインストール手順に解決策がありましたサイト: pytesseract エラーを回避する多くの選択肢がありますが、メソッドにパラメータをもう1つ追加しますpytesseract.image_to_string解決済み私にとっては
tessdata_dir_config = "/usr/share/tesseract-ocr/4.00/tessdata"
output = pytesseract.image_to_string(image, lang='eng', config=tessdata_dir_config)
私も同じ問題に直面していました。パス変数にC:\Program Files (x86)\Tesseract-OCR
を追加するだけです。それでも機能しない場合は、C:\Program Files (x86)\Tesseract-OCR\tessdata
を新しい行のパス変数に追加します。パス変数を追加した後、コンピューターを再起動することを忘れないでください。