我有一个使用 PaddleOCR 运行 OCR 功能的 Flask 应用程序。我现在的目标是从中创建可执行文件。我尝试过PyInstaller和py2app,但它们最终都出现了相同的错误。起初创建了可执行文件,但是当我在终端上运行它时,我收到错误并且应用程序被终止。错误是
File ".../dist/ocr-app.app/Contents/Resources/lib/python3.9/paddle/fluid/core.py", line 392, in set_paddle_lib_path
lib_dir = os.path.sep.join([site.USER_SITE, 'paddle', 'libs'])
TypeError: sequence item 0: expected str instance, NoneType found
所以我得到了site.USER_SITE
是没有的。以前,我已经使用 py2app 成功为不同的项目创建了可执行文件,但没有使用 Paddle。我试图调整上一个项目中可执行文件包中的一些代码以打印site.USER_SITE
但值也是 None。
所以基本上,默认情况下,可执行文件中site.USER_SITE
的值是 None,但这次我需要它不是 None。是否有任何解决方案或解决方法?
如果需要,我正在使用python3.9,py2app 0.28.4,烧瓶2.2.2,桨桨2.3.2,桨2.6.0.1
编辑:
我也阅读了pythonsite
模块的文档,其中说site.USER_SITE
如果尚未调用getusersitepackages()
则可以为None。但我不知道何时何地应该调用它,我也不知道如何处理这些信息。
将site_dir
site.USER_SITE
替换为"...app/.../core.py"将解决此错误。