2017-03-22 59 views
2

我想在Windows上用PyInstaller編譯一些腳本。在Windows上的PyInstaller錯誤

該腳本正在使用PySide和OpenPyXL庫。我安裝了PIP(PySide,OpenPyXL,PEFILE和PyInstaller)的所有依賴項。

我的腳本使用任何Unicode字符,但是當我嘗試執行PyInstaller它顯示下一個回溯錯誤:

Traceback (most recent call last): 
    File "C:\Python27\Scripts\pyinstaller-script.py", line 11, in <module> 
    load_entry_point('PyInstaller==3.2.1', 'console_scripts', 'pyinstaller')() 
    File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 90, in run 
    run_build(pyi_config, spec_file, **vars(args)) 
    File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 46, in run_build 
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) 
    File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line 788, in main 
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build')) 
    File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line 734, in build 
    exec(text, spec_namespace) 
    File "<string>", line 33, in <module> 
    File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 650, in __init__ 
    self.__postinit__() 
    File "c:\python27\lib\site-packages\PyInstaller\building\datastruct.py", line 161, in __postinit__ 
    self.assemble() 
    File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 682, in assemble 
    dist_nm=inm) 
    File "c:\python27\lib\site-packages\PyInstaller\building\utils.py", line 190, in checkCache 
    cachedfile = os.path.join(cachedir, basenm) 
    File "c:\python27\lib\ntpath.py", line 86, in join 
    result_path = result_path + p_path 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position 16: ordinal not in range(128) 

腳本路徑是"C:\extractorcfdi\extractorcfdi.pyw"

我的Python版本對於x86爲2.7.13。

+1

您可能需要指定腳本路徑爲「C:\\ extractorcfdi \\ extractorcfdi.pyw」(或'r「C:\ extractorcfdi \ extractorcfdi.pyw」')。 – martineau

回答

1

我遇到了同樣的問題,它顯然是由我的(Windows 7)用戶名包含' - '字符造成的。我的解決方法是在Windows中使用管理員權限創建第二個用戶名,從中可以生成可執行文件而不會出現任何錯誤。