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 回答