Python 如何修复pyinstaller中未找到dbm克隆的错误

Python 如何修复pyinstaller中未找到dbm克隆的错误,python,caching,subtitle,subliminal,Python,Caching,Subtitle,Subliminal,我已经做了一个GUI应用程序,它使用潜意识。然后我尝试使用PyInstaller编译程序。运行exe时,会出现以下错误:- Traceback (most recent call last): File "main.py", line 375, in <module> File "main.py", line 144, in __init__ File "site-packages\dogpile\cache\region.py", line 237, in config

我已经做了一个GUI应用程序,它使用潜意识。然后我尝试使用PyInstaller编译程序。运行exe时,会出现以下错误:-

Traceback (most recent call last):
  File "main.py", line 375, in <module>
  File "main.py", line 144, in __init__
  File "site-packages\dogpile\cache\region.py", line 237, in configure
  File "site-packages\dogpile\cache\backends\file.py", line 158, in __init__
  File "site-packages\dogpile\cache\backends\file.py", line 182, in _init_dbm_file
  File "dbm\__init__.py", line 75, in open
ImportError: no dbm clone found; tried ['dbm.gnu', 'dbm.ndbm', 'dbm.dumb']
Failed to execute script main
通过谷歌搜索,我发现它使用了dbm.gdbm中的_dbm包。因此,我使用了
import dbm.dumb
而不是
import dbm.gnu、dbm.ndbm、dbm.dumb

令人惊讶的是,这样做启动了我的应用程序。但是《潜意识》现在找不到任何字幕。所以现在完全没用了

我做错了什么。解决这个问题的正确方法是什么。在编译过程中,我也尝试过给出
--hidden import dbm
,但没有成功


以下是我使用pyinstaller编译的命令:-

pyinstaller main.py --hidden-import dbm --hidden-import dogpile.cache.backends.file  --additional-hooks-dir=. --add-data guessit;guessit --add-data babelfish;babelfish -i vid2.ico -n Subtitler

如果有任何线索或帮助,我将不胜感激:)

我发现,in \u dbm包只在类UNIX系统中工作

经过一番摆弄,终于修好了

在主python文件中,只需使用以下导入:-

import dbm.dump

我发现,in_dbm包只在类UNIX系统中工作

经过一番摆弄,终于修好了

在主python文件中,只需使用以下导入:-

import dbm.dump