我正在嘗試在使用 tkcalendar 的 pyinstaller 在 Windows 上安裝 python 應用程序。應用程序正在運行,但 tkcalendar.Calendar 沒有。當我在沒有安裝的情況下運行應用程序時,一切正常,但如果我這樣做,日歷小部件不會出現。我認為 pyinstaller 看到了這個模塊,但是他對 tkcalendar 正在使用的模塊有問題。我嘗試使用 --path=/.../python/Lib/site-packages 運行 pyinstaller 但這沒有用。將模塊文件復制到應用程序目錄也無濟于事。
3 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
問題不是來自于tkcalendar
PyInstaller 沒有檢測到二級導入這一事實。tkcalendar 的HowTos文檔中解釋了解決此問題的方法:
使用 PyInstaller 捆綁應用程序時, 檢測 tkcalendar 的 babel 依賴存在問題。這可以通過使用以下
--hidden-import
選項來解決:$ pyinstaller --hidden-import babel.numbers myscript.py或通過編輯.spec文件:
hiddenimports=["babel.numbers"]

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
如果有人發現同樣的問題。在 tkcalendar 1.5.0 中,在 calendar.py 中導入存在問題。
找到tkcalendar文件夾(可能是 /.../python/Lib/site-packages/tkcalendar)并在calendar.py下為缺少的模塊添加一個額外的導入:
import calendar
from babel.dates import format_date, parse_date, get_day_names, get_month_names
from babel.numbers import * # Additional Import```
添加回答
舉報
0/150
提交
取消