2017-01-16 8 views
2

cx_freezeを使用して、aiohttpパッケージを使用してPython 3で書かれたWebアプリケーションのバイナリdistを構築しようとしています。cxfreeze aiohttpがcompatをインポートできない

は基本的に私がやった:

cxfreeze server.py 

dist出力

を得たが、./serverバイナリを実行しているとき、私は次のようなメッセージだ:

File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/__startup__.py", line 12, in <module> 
    __import__(name + "__init__") 
    File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/Console.py", line 24, in <module> 
    exec(code, m.__dict__) 
    File "server.py", line 1, in <module> 
    File "/usr/local/lib/python3.5/dist-packages/aiohttp/__init__.py", line 10, in <module> 
    from .protocol import * # noqa 
    File "/usr/local/lib/python3.5/dist-packages/aiohttp/protocol.py", line 17, in <module> 
    from . import errors, hdrs 
    File "/usr/local/lib/python3.5/dist-packages/aiohttp/errors.py", line 3, in <module> 
    from asyncio import TimeoutError 
    File "/usr/lib/python3.5/asyncio/__init__.py", line 21, in <module> 
    from .base_events import * 
    File "/usr/lib/python3.5/asyncio/base_events.py", line 32, in <module> 
    from . import compat 

ImportError: cannot import name 'compat' 

答えて

7

がうまくいけば、あなたはできましたがこれを修正するには、私のようにこの質問を探している人には、私は答えます:

このcompatモジュールはasyncioの一部であり、cx_Freezeによって検出されません。

setup(
    ... 
    options = { 
     'build_exe': { 
      'packages': ['encodings', 'asyncio'] 
     }, 
    } 
) 
+0

次setup.py' 'で私のためにそれを修正: ' buildOptions = dictの(パッケージ=を[私はそれが含まれるように取得するsetup.pybuild_exeオプションでpackagesリストにasyncioを追加する必要がありました'asyncio']、excludes = []) ' – danger89

+0

何のセットアップ?それを使用してpplicationの? – KaramJaber

関連する問題