7

Windows7(x64)でpyinstaller(3.0)を使用して実行可能ファイル(x86)を生成しようとしています。cffi とその他の必要なパッケージを pip でインストールしました。コマンド ラインから cffi および _cffi_backend モジュールを正常にインポートできます。

>>> import cffi
>>> import _cffi_backend
>>> cffi.__file__
'C:\\Program Files (x86)\\Python27\\lib\\site-packages\\cffi\\__init__.pyc'
>>> _cffi_backend.__file__
'C:\\Program Files (x86)\\Python27\\lib\\site-packages\\_cffi_backend.pyd'

>

生成された実行可能ファイルを実行しようとすると、以下のエラーが発生しました。

  File "C:\Program Files (x86)\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 13, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
  File "c:\program files (x86)\python27\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\loader\pyimod03_importers.py", line 517, in load_module
    module = imp.load_module(fullname, fp, filename, ext_tuple)
ImportError: No module named _cffi_backend

ここに完全な起動ログが表示される場合があります。

ちなみに、libcffi ライブラリを mingw でコンパイルして DLL ファイルを取得しました。次に、ライブラリ パスの 1 つにコピーすると、アプリケーションの起動時に再び同じエラーが発生しました。

_cffi_backend ライブラリが存在し、Python パスにあるにもかかわらず、アプリケーションの起動時にロードできなかった理由がわかりません。私はPythonが苦手で、残念ながらこのほぼ2日間で立ち往生しています。提案やガイダンスをいただければ幸いです。

ありがとう。

4

1 に答える 1

8

--hidden-import=_cffi_backendpyinstaller でビルドするときにオプションを追加するだけです。

于 2016-04-20T16:04:51.313 に答える