尝试学习cx-freeze。我有一个python程序,我正在尝试冻结到exe。
我使用PySerial,无论我如何尝试包含win32似乎都没有帮助。我使用Python 3.2和win7。
我搜索网络很薄,其他人也有同样的问题,但似乎没有出现任何解决方案。但我怀疑没有人成功地使用PySerial进行cx_freezing。
我完全陷入困境。任何帮助将不胜感激
错误:
Traceback (most recent call last):
File "C:\Python32\lib\site-packages\
7, in <module>
exec(code, m.__dict__)
File "snapper.py", line 8, in
File "C:\Python32\lib\site-packages\
from serial.serialwin32 import *
File "C:\Python32\lib\site-packages\
e>
from serial import win32
ImportError: cannot import name win32
Setup.py:
from cx_Freeze import setup,Executable
includefiles = ['caml.pkl', 'seql.pkl']
includes = ['DataBase', 'serial.win32']
excludes = ['Tkinter']
packages = []
setup(
name = 'Setup',
version = '0.1',
description = 'Snapper configuration utility',
author = 'LST',
author_email = 'info@-.com',
options = {'build_exe': {'excludes':excludes,'packages':packages,'include_files':includefiles}},
executables = [Executable('snapper.py')]
)
知道从哪里开始? 提前致谢
我试图盲目导入:
if False:
import serial.win32
没有运气......
也许我正在以错误的方式看待这个......
答案 0 :(得分:3)
好的,问题解决了。
您需要使用包强制cx_Freeze包含serial.win32(不是“include”)
以下线路工作:
packages = ['serial.win32']
备忘录给我和我自己:请务必检查dist文件夹中是否有实际包含的包。我不知道为什么所有包都没有被cx_Freeze包含在内,但这对我有用。
答案 1 :(得分:0)
如果您可以使用其他工具冻结程序,PyInstaller表示它支持PySerial。