2012-01-03 23 views
1

cx-freezeを習得しようとしています。私はexeするフリーズしようとしているpythonプログラムがあります。Python、PySerial、cx-freeze

私は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 = '[email protected]', 
    options = {'build_exe': {'excludes':excludes,'packages':packages,'include_files':includefiles}}, 
    executables = [Executable('snapper.py')] 
) 

任意のアイデア?

はたぶん私はこの間違った方法で探しています

if False: 
    import serial.win32 

運... ....

+0

インクルードを 'serial'に変更するとどうなりますか? – Velociraptors

+0

いいえ、それを試しました.. – Esben

答えて

0

の場合:

事前に おかげで私はブラインドインポートを実行しようとしました別のツールを使用してプログラムをフリーズすることができます。PyInstallerはPySerialをサポートしています。

+2

PyInstallerは本当にいいですね。しかし、私が見ることができる限り、Python 3.xをサポートしていません – Esben

+0

ああ、申し訳ありませんが、私はpython3タグに気付かなかったのかどうか分かりません。 – Velociraptors

+0

問題ありません。私はPythonの初心者です。私は2.7から始まっていないのが分かりません:-)すぐにその道を行くかもしれません。 – Esben

3

問題は解決しました。

あなたはserial.win32を含めるようにcx_Freezeを強制的にパッケージを使用する必要があります(ない「が含まれる」)

次の行は動作します:

packages = ['serial.win32'] 

メモ私の自己と他者へ:必ずチェックしてくださいdistパッケージに含まれています。なぜ、すべてのパッケージが最初にcx_Freezeに含まれなかったのかわかりませんが、これは私にとってはうまくいきます。

関連する問題