サブリミナルを使用するGUIアプリケーションを作成しました。それからPyInstallerを使ってプログラムをコンパイルしようとしました。私はexeファイルを実行すると、それは私に次のエラーを与える: - : import dbm
- この後pyinstallerでno dbm clone foundエラーを修正するには
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をインポートしてみました。しかしこれも同じエラーを出します。
その後、私はimport dbm.gnu , dbm.ndbm , dbm.dumb
を試しました。 、以下に示すように、これは別のエラーを与える: -
Traceback (most recent call last):
File "main.py", line 3, in <module>
File "c:\program files\python35\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "userinterface.py", line 312, in <module>
File "c:\program files\python35\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "main.py", line 9, in <module>
File "c:\program files\python35\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "dbm\ndbm.py", line 3, in <module>
ImportError: No module named '_dbm'
Failed to execute script main
いくつかのグーグルが、私はそれがdbm.gdbmから_dbmパッケージを使用することがわかりました。だからimport dbm.gnu , dbm.ndbm , dbm.dumb
の代わりにimport 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
私はすべての手がかりのために感謝するか、私は_dbmパッケージでのみ、ことがわかった:)