Время выполнения ImportError в исполняемом файле Python, созданном с помощью PyInstaller - PullRequest
1 голос
/ 04 апреля 2019

Я пытаюсь разобраться с модулем Python asyncio и у меня есть простой скрипт, который работает нормально, но когда я компилирую его с помощью PyInstaller и запускаю исполняемый файл, который он создает, я получаю ошибку ImportError, которую не могу понять, какчинить.Я провел несколько часов в интернете, чтобы выяснить, сталкивался ли кто-то еще с такой же проблемой, но не смог ничего найти, и я не понимаю, что является причиной проблемы.

Сценарий, который яКомпиляция выглядит следующим образом:

import requests
import asyncio


async def main():
    loop = asyncio.get_event_loop()
    futures = [
        loop.run_in_executor(
            None,
            requests.get,
            'http://google.com'
        )
        for i in range(5)
    ]
    for response in await asyncio.gather(*futures):
        print(response.status_code)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Команда, которую я использую для компиляции сценария:

pyinstaller -F async_test.py

И исключение во время выполнения, которое выдается при запуске исполняемого файла, который создает PyInstaller:1009 *

Traceback (most recent call last):
  File "asyncio\__init__.py", line 18, in <module>
ImportError: cannot import name '_overlapped'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Miscellaneous\async_test.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "c:\users\username\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "asyncio\__init__.py", line 20, in <module>
OSError: [WinError 10022] An invalid argument was supplied
[13048] Failed to execute script async_test

Я использую Python 3.6.4 и PyInstaller 3.4

Если бы кто-то мог пролить свет на то, что проблема и как ее исправить, я был бы очень благодарен.

...