2017-04-21 39 views
1

我在Python 3.5.2中编写了一个脚本,并将它编译为Mac上的二进制文件,它工作正常。无法执行用于Windows的pyinstaller编译二进制

然后,我在Win 7机器pyinstaller --onefile script.py上编译脚本。编译期间没有错误,但执行失败。

下面是完整的追溯。

Traceback (most recent call last): 
    File "site-packages\requests\packages\__init__.py", line 27, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\packages\urllib3\__init__.py", line 8, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\packages\urllib3\connectionpool.py", line 28, in <module> 
    File "site-packages\requests\packages\urllib3\packages\six.py", line 92, in __get__ 
    File "site-packages\requests\packages\urllib3\packages\six.py", line 115, in _resolve 
    File "site-packages\requests\packages\urllib3\packages\six.py", line 82, in _import_module 
ImportError: No module named 'queue' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "myscript.py", line 5, in <module> 
    import support 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "support.py", line 1, in <module> 
    import requests 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\__init__.py", line 63, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\utils.py", line 24, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\_internal_utils.py", line 11, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\compat.py", line 11, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\requests\packages\__init__.py", line 29, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\urllib3\__init__.py", line 8, in <module> 
    File "c:\users\support\appdata\local\programs\python\python35\lib\site-packages\PyInstaller\loader 
\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\urllib3\connectionpool.py", line 28, in <module> 
    File "site-packages\urllib3\packages\six.py", line 92, in __get__ 
    File "site-packages\urllib3\packages\six.py", line 115, in _resolve 
    File "site-packages\urllib3\packages\six.py", line 82, in _import_module 
ImportError: No module named 'queue' 
Failed to execute script myscript 

我不知道什么是错的。

+1

我想通了。我需要将'--hidden-import = queue'参数传递给pyinstaller。 – user6037143

回答

0

有时会发现解码错误。 例如:GBK无法解码。某些特殊的代码:。\?-_...。检查你的代码!

相关问题