首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python、PySerial和cx-freeze

Python、PySerial和cx-freeze
EN

Stack Overflow用户
提问于 2012-01-04 02:47:52
回答 2查看 1.9K关注 0票数 1

尝试学习cx-freeze。我有一个python程序,我正在尝试冻结到exe。

我使用PySerial,无论我如何尝试包含win32,似乎都无济于事。我使用Python3.2和win7。

我在网上搜索过,其他人也有同样的问题,但似乎没有解决方案。但我怀疑没有人在使用PySerial的cx_freezing上取得成功。

我完全被卡住了。任何帮助都将不胜感激

错误:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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')]
)

你知道下一步该怎么做吗?提前感谢

我试着做一个盲目导入:

代码语言:javascript
复制
if False:
   import serial.win32

没有运气..。

也许我看错了方向……

EN

回答 2

Stack Overflow用户

发布于 2012-01-04 20:42:03

好了问题解决了。

您需要使用包来强制cx_Freeze包含serial.win32 (不是" include ")

下面的代码行工作:

代码语言:javascript
复制
packages = ['serial.win32'] 

给我自己和其他人的备注:一定要检查dist文件夹中是否包含实际包含的包。我不知道为什么cx_Freeze一开始没有包含所有的包,但这对我来说很有效。

票数 3
EN

Stack Overflow用户

发布于 2012-01-04 06:17:08

如果你可以使用不同的工具冻结你的程序,PyInstaller说它支持PySerial。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8717125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档