Python 3.3.3を使用しており、単純な.pyスクリプトから.exeをビルドしようとしています。
私のスクリプトは次のようになります:
import encodings
print('Test')
正しく実行されます。
次のコマンドを使用してPyInstallerでビルドしようとすると:
pyinstaller --onefile Testmodul.py
そして、このエラーで表示される私の.exeを開こうとします:Fatal Python error: Py_Initialize: unable to load the file system codec, ImportError: No module named 'encodings'
私は既にテストスクリプトに 'encodings'モジュールをインポートしようとしましたが、それでも機能しません。py2exeも試しましたが、まったく機能しません。
私が間違っていることはありますか? PATHに何かをセットアップする必要がありますか? 「C:\ Python33」への正しいパスはすでにそこに含まれています。
編集:この問題を抱えているすべての人に:私はあきらめました、そしてWindowsとpythonと他のすべてのものを新たにインストールした後、以前と同じようにもう一度試してみましたが、それなしでうまくいきました問題..あなたが本当に絶望的であるなら、それは試してみる価値があります!
これはおそらく、pyinstallerがそもそもモジュールを含んでいないためです。次の解決策のいずれかを試してください。
1)コンパイル中にモジュールへのパスを指定します。
2).specファイルからのパスを指定します。
最初に(pyinstallerのディレクトリで)このコマンドを実行してください:
python Makespec.py --onefile /path/to/yourscript.py
これで.specファイルができました。テキストエディターで開き、モジュールへのパスをpathexに追加します。
pathex=['C:\\path\\to\\module']
次に、プログラムをビルドします。
python Build.py /path/to/yourscript.spec
3)非表示のインポートを使用します。
どのバージョンのWindowsを使用していますか(7または10)?
この問題はユーザー特権に関連しているようです...そして、それが この問題 に類似していると仮定すると、最初にexe管理者権限のあるファイル。再度失敗する場合は、管理者権限で実行しているcmd.exeから「Pyinstaller」を実行してみてください。
hook-encodings.py
という名前のフックファイルをC:\Python\Lib\site-packages\PyInstaller\hooks
の場所に追加し、次のコード行を追加して、フックファイル内のエンコーディングモジュールを収集します
from PyInstaller.utils.hooks import collect_submodules
hiddenimports = collect_submodules('encodings')
これはうまくいくかもしれません、この答えはあなたを助けるかもしれません DjnagoプロジェクトのPyinstallerエラー "ImportError:No module named 'Django.contrib.admin.apps'"