1

cx-freezeを学習しようとしています。フリーズして実行しようとしているPythonプログラムがあります。

私はPySerialを使用していますが、win32をどのように含めようとしても、何の役にも立ちません。私はPython3.2とwin7を使用しています。

私はWebを薄く検索しましたが、他の人も同じ問題を抱えていますが、解決策が表示されていないようです。しかし、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

運がない...

多分私はこれを間違った方法で見ています...

4

2 に答える 2

3

わかりました、問題は解決しました。

パッケージを使用して、cx_Freeze に serial.win32 を強制的に含める必要があります (「含める」のではありません)。

次の行は機能します:

packages = ['serial.win32'] 

自分と他の人へのメモ: 実際に含まれているパッケージの dist フォルダーを必ず確認してください。最初にすべてのパッケージが cx_Freeze に含まれなかった理由はわかりませんが、これは私にとってはうまくいきます。

于 2012-01-04T12:42:02.687 に答える
0

別のツールを使用してプログラムをフリーズできる場合、PyInstallerは PySerial をサポートしていると述べています。

于 2012-01-03T22:17:07.890 に答える