2016-03-10 28 views
0

我試圖凍結一個簡單的Python 3.4腳本,調用test.py使用pyinstaller。腳本導入xlwings模塊(我通過pip安裝)的版本0.7.0,然後打印消息。Xlwings模塊導致PyInstaller EXE拋出異常

import xlwings 
print("Fine!") 

如果我刪除xlwings進口,然後pyinstaller test.py生成EXE(我在Windows 10)打印「微調」消息,然後退出DIST文件夾內。但是,如果我導入xlwings模塊,命令生成打印此消息的EXE,然後退出(不打印的「微調」消息):

Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible 
    File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\xlwings\__init__.py", line 20, in <module> 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible 
    File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\xlwings\_xlwindows.py", line 29, in <module> 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible 
    File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "site-packages\pandas\__init__.py", line 7, in <module> 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible 
    File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 573, in load_module 
    module = loader.load_module(fullname) 
    File "pandas\tslib.pyx", line 55, in init pandas.tslib (pandas\tslib.c:102924) 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible 
    File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module 
    exec(bytecode, module.__dict__) 
    File "dateutil\zoneinfo\__init__.py", line 31, in <module> 
    File "dateutil\zoneinfo\__init__.py", line 24, in getzoneinfofile 
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\OrangeFlash81\\AppData\\Local\\Temp\\_MEI102122\\dateutil\\zoneinfo' 
test returned -1 

我知道,cx_Freeze有問題,當dateutil導入,並且此錯誤消息引用dateutilpyinstaller是否遭受同樣的問題,如果是這樣,我該如何解決它們?

回答

0

這不完全是一個解決方案,但我決定切換到使用XLRD模塊,該模塊完成我所需要的任何工作,並完美地與pyinstaller一起工作;更改xlwings代碼使用XLRD也不是太困難。

+0

cx_Freeze在v0.7.1中解決了xlwings v0.7.0的問題 - 這可能解決了PyInstaller中的問題。 –

+0

@FelixZumstein謝謝 - 我會更新'xlwings'並重試。 –