Python错误:PermissionError:[WinError 5]访问被拒绝

Python错误:PermissionError:[WinError 5]访问被拒绝,python,windows,tesseract,Python,Windows,Tesseract,因此,我目前正在尝试在Python3.5中使用Tesseract(pytesseract包装器)。现在我在办公室,所以我猜有一些愚蠢的权限没有设置,这就是为什么我在尝试运行一些非常简单的代码时出错的原因。现在我在这台机器上有admnin权限,可以更改文件权限。。。你知道我能做些什么让它运行吗 如果说有什么帮助的话,那就是在我使用不同的操作系统时,它将帮助我了解一般的系统权限 import pytesseract from PIL import Image test = Image.open

因此,我目前正在尝试在Python3.5中使用Tesseract(pytesseract包装器)。现在我在办公室,所以我猜有一些愚蠢的权限没有设置,这就是为什么我在尝试运行一些非常简单的代码时出错的原因。现在我在这台机器上有admnin权限,可以更改文件权限。。。你知道我能做些什么让它运行吗

如果说有什么帮助的话,那就是在我使用不同的操作系统时,它将帮助我了解一般的系统权限

   import pytesseract
from PIL import Image
test = Image.open('test.png')
print (pytesseract.image_to_string(test))


    Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
========= RESTART: C:\Users\dmartin\CheckScanScript\TextFromImage.py =========
Traceback (most recent call last):
  File "C:\Users\dmartin\CheckScanScript\TextFromImage.py", line 4, in <module>
    print (pytesseract.image_to_string(test))
  File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
    config=config)
  File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 950, in __init__
    restore_signals, start_new_session)
  File "C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1220, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Access is denied
导入pytesseract
从PIL导入图像
test=Image.open('test.png'))
打印(PyteSeract.image_到_字符串(测试))
win32上的Python 3.5.1(v3.5.1:37A07CEE59692015年12月6日01:38:48)[MSC v.1900 32位(英特尔)]
有关详细信息,请键入“copyright”、“credits”或“license()”。
>>> 
======重新启动:C:\Users\dmartin\CheckScanScript\TextFromImage.py=========
回溯(最近一次呼叫最后一次):
文件“C:\Users\dmartin\CheckScanScript\TextFromImage.py”,第4行,在
打印(PyteSeract.image_到_字符串(测试))
文件“C:\Users\dmartin\AppData\Local\Programs\Python\35-32\lib\site packages\pytesseract\pytesseract.py”,第161行,位于图像到字符串中
config=config)
文件“C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\site packages\pytesseract\pytesseract.py”,第94行,运行\u tesseract
stderr=子流程(管道)
文件“C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py”,第950行,在uu init中__
恢复信号,启动新会话)
文件“C:\Users\dmartin\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py”,第1220行,在执行子进程中
startupinfo)
PermissionError:[WinError 5]访问被拒绝

我也有同样的问题。我解决了这个问题。首先,必须在环境变量中添加路径C:\Program Files(x86)\Tesseract OCR\。第二,我注意到如果我的代码在不同的磁盘上,程序就不能从文件夹数据中加载语言。因此,我将代码从磁盘D移到磁盘C,它终于开始工作了。

我通过代码授予文件权限来解决它:

import stat
import os

os.chmod("file",stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH|stat.S_IXUSR|stat.S_IRUSR|stat.S_IWUSR|stat.S_IWGRP|stat.S_IXGRP)
os.remove("file")

我也遇到了同样的问题,我以管理员身份运行IDLE,然后通过IDLE打开.py文件来解决它。

以管理员身份运行Python或Python IDE,并设置tesseract_cmd、Pyteseract.Pyteseract.tesseract_cmd、TesserData_前缀和TesserData_dir_配置,如下所示:

from PIL import Image
import pytesseract
tesseract_cmd = 'D:\\Softwares\\Tesseract-OCR\\tesseract'
pytesseract.pytesseract.tesseract_cmd = 'D:\\Softwares\\Tesseract-OCR\\tesseract'
TESSDATA_PREFIX= 'D:\Softwares\Tesseract-OCR'
tessdata_dir_config = '--tessdata-dir "D:\\Softwares\\Tesseract-OCR\\tessdata"'
print(pytesseract.image_to_string( Image.open('D:\\ImageProcessing\\f2.jpg'), lang='eng', config=tessdata_dir_config))

我也面临着同样的问题,为pytesseract可执行文件添加完整路径对我来说很有效。因此,如果在“C:\Program Files(x86)\Tesseract OCR\Tesseract”中安装了Pyteseract,请确保在代码中添加以下路径:-

C:\Program Files(x86)\Tesseract OCR\Tesseract\Tesseract.exe

您的代码如下所示

tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract\\tesseract.exe'
pytesseract.pytesseract.tesseract_cmd = tesseract_cmd
print(pytesseract.image_to_string(Image.open('test.png')))

希望这对您也有用。

不确定您是如何运行该程序的,但请尝试cmd.exe“以管理员身份运行”(或类似方式)。通常,这是Windows资源管理器中的一个右键单击菜单选项,但它因Windows版本而异。pytesseract正在尝试。打开命令提示符并选中
where tesseract
,查看是否安装了它并在
路径中设置了它的目录。如果是,请尝试运行
teseract
。我的py代码运行在D:\,设置文件夹的完全所有权和/或取消选中只读框以降低SSD的性能,每次使用2k个文件只能解决一个会话(重新启动会再次将其搞糟)。这似乎是一个很好的即时解决方案(尚未找到时间重新启动和确认)tesseract PermissionError:[WinError 5]Python 3.7.6上的Anaconda已解决