Python:给[Errno 2]在openshift上没有这样的文件或目录

时间:2016-03-29 19:10:28

标签: python python-2.7 openshift

我正在使用python-flask并在openshift上部署我的应用程序。应用网址为this

我正在上传一张图片,并在pytesseract lib的帮助下,然后从上传的图片中提取文字。

到目前为止,这里是我写的代码:

    path = os.path.join(os.getenv('OPENSHIFT_DATA_DIR'),'yi.jpg')
    with open(path,'w') as f:
        f.write(resp.content)
    try:
        import Image
    except ImportError: 
        from PIL import Image
    import pytesseract
    #return path gives var/lib/openshift/56faaee42d527151d5000089/app-root/data/yi.jpg
    text = pytesseract.image_to_string(Image.open(path))
    return text

如果我返回path变量,则其值为var/lib/openshift/56faaee42d527151d5000089/app-root/data/yi.jpg,当我通过ssh登录并路由到此位置时,我会看到该位置存在一个文件。

  

追踪(最近一次呼叫最后一次):

File "<stdin>", line 1, in <module>

File "pytesseract/pytesseract.py", line 132, in image_to_string
boxes=boxes)

File "pytesseract/pytesseract.py", line 73, in run_tesseract
  stderr=subprocess.PIPE)

  File "/opt/rh/python27/root/usr/lib64/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)

  File "/opt/rh/python27/root/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception

OSError: [Errno 2] No such file or directory

但是为什么编译器抱怨没有这样的文件或目录。

1 个答案:

答案 0 :(得分:0)

请确保服务器上安装了Tesseract(source)。

拥有Python模块是不够的,因为它然后调用二进制文件。