Python, PySerial и cx-freeze - PullRequest
       22

Python, PySerial и cx-freeze

1 голос
/ 03 января 2012

Пытается выучить cx-freeze. У меня есть программа на Python, которую я пытаюсь заморозить, чтобы exe.

Я использую PySerial и, как бы я ни пытался включить win32, ничто не поможет. Я использую Python 3.2 и win7.

Я искал в сети, и у других возникла та же проблема, но, похоже, решения не найдено. Но я сомневаюсь, что никому не удалось cx_freezing, что использует PySerial.

Я полностью застрял. Любая помощь будет высоко ценится

Ошибка:

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

не повезло ...

Может быть, я смотрю на это не так ...

Ответы [ 2 ]

3 голосов
/ 04 января 2012

Хорошо, проблема решена.

Вам необходимо использовать пакеты, чтобы cx_Freeze включил serial.win32 (не "include")

Работает следующая строка:

packages = ['serial.win32'] 

Памятка себе и другим: Обязательно проверьте папку dist на наличие фактически включенных пакетов.Я понятия не имею, почему все пакеты не были включены cx_Freeze, но это работает для меня.

0 голосов
/ 04 января 2012

Если вы можете использовать другой инструмент для остановки вашей программы, PyInstaller говорит, что он поддерживает PySerial.

...