无法运行可执行文件,因为 paddle 中的USER_SITE为"无"



我有一个使用 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_dirsite.USER_SITE替换为"...app/.../core.py"将解决此错误。

相关内容

最新更新