iT邦幫忙

0

請問大家知道為什麼,用WEB去呼叫Python程式,遇到 import tkinter as tk、 from tkinter import messagebox 會無反應

  • 分享至 

  • xImage

我用WEB去呼叫Python程式,在自已的本機端跑,是可以正常呼叫出messagebox。但如果放在server上面, 卻無法呼叫出messagebox。若拿掉程式中的tkinter相關的東西(例如:import tkinter as tk、 from tkinter import messagebox),執行卻可以跑出要的資料。請問大家知道有可能是因為什麼東西鎖住嗎?因為一樣的程式只有在無外網的server中無法順利跑。

froce iT邦大師 1 級 ‧ 2022-12-20 15:31:31 檢舉
你放server是叫出server上的messagebox...不是網頁瀏覽器的
win895564 iT邦研究生 5 級 ‧ 2022-12-20 17:20:11 檢舉
會不會是server上面沒有安裝tkinter
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
bill83a707
iT邦新手 5 級 ‧ 2022-12-21 10:25:52

你的本機端可以正常呼叫出訊息方塊,但是如果放到伺服器上就無法呼叫出訊息方塊,這可能是因為伺服器上沒有安裝 Tkinter 庫或者無法在伺服器上使用 GUI 組件。

Tkinter 是 Python 的內建 GUI 工具箱,它可以用於創建跨平台的桌面應用程式。但是,Tkinter 依賴於操作系統的圖形用戶介面 (GUI) 功能,而且需要有圖形環境 (例如 X Window System) 才能正常工作。因此,如果伺服器是一個沒有圖形環境的伺服器 (例如一個沒有桌面環境的伺服器),則 Tkinter 就無法在伺服器上正常工作。

因此,若要在伺服器上正常使用 Python 程式,您可能需要將 Tkinter 相關的代碼移除或替換為不依賴於 GUI 的替代方案。此外,您還可以考慮在伺服器上安裝圖形環境或者使用遠端桌面軟體來遠端連接到伺服器並使用 GUI。

win895564 iT邦研究生 5 級 ‧ 2022-12-21 17:40:04 檢舉

這個回答格式我怎麼有點熟悉XDD

嘿嘿

what0208 iT邦新手 5 級 ‧ 2022-12-22 08:09:30 檢舉

hi,不知道我的理解有沒有錯。伺服器是有桌面的,單獨在伺服器跑py檔,是可以有對話框,但加上web去呼叫時,就無法跑出對話框。

我要發表回答

立即登入回答