1

Python 3.2 スクリプトの exe バージョンのビルドに問題があります。スクリプトには pyserial が必要で、cx_freeze を使用してビルドします。ただし、exeを実行すると、次のようになります。

Traceback (most recent call last):
File "C:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27,
in   <module>
  exec(code, m.__dict__)
File "my_serial_program.py", line 1, in <module>
  import serial
File "C:\Python32\lib\site-packages\serial\__init__.py", line 19, in <module>
  from .serialwin32  import *
File "C:\Python32\lib\site-packages\serial\serialwin32.py", line 12, in <module>
  from . import win32
ImportError: cannot import name win32

少し調べてみると、Pyserial サイト パッケージには「win32.py」モジュール (serialwin32.py に加えて) があります。ただし、cx_freeze が生成する圧縮ライブラリには、win32.py がありません。pyc バージョンを配置するだけでは問題は解決しません。また、cx_freeze "includes = [ ]" を使用しても機能しません。

何か案は?私の質問は説得力がありますか (私は Python にかなり慣れていません)?

4

1 に答える 1

0

同じ問題がありました。cx_Freeze ImportError: cannot import name and documentation for cx_Freezeに記載されているように、追加のモジュールを含めるオプションがあります。

追加するだけ--include-modules serial.win32

于 2012-03-27T18:01:17.853 に答える