2017-08-14 9 views
0

サブリミナルを使用する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パッケージでのみ、ことがわかった:)

答えて

0

に役立つだろうUNIXのようなシステムで動作します。

最後にそれを振って最後に修正した後。メインのpythonファイルで

ちょうどこのインポートを使用: -

import dbm.dump 
関連する問題