首頁 >後端開發 >Golang >如何在不使用 C 的情況下從 Python 呼叫 Go 例程?

如何在不使用 C 的情況下從 Python 呼叫 Go 例程?

DDD
DDD原創
2024-12-03 03:20:10248瀏覽

How Can I Call a Go Routine from Python Without Using C?

用 Go 寫 Python 擴充

問題:

如何從 Python 呼叫 Go程式並避免額外的一層C?

答案:

目前,如果沒有外部函式庫,這是不可能的。然而,從 Go 1.5 開始,可以建立 .so 物件並將其作為 Python 模組導入,從而允許直接從 Python 運行 Go 程式碼。

使用 Go 1.5 的解決方案:

  • 建立一個具有所需功能的 Go 套件。
  • 從 Go 建立一個 .so 物件使用 go build 指令進行打包。
  • 使用 importlib.import_module() 將 .so 物件作為 Python 模組導入。

使用 gopy 的替代解決方案:

  • 安裝 gopy 套件。
  • 建立 Go包含所需功能的軟體包。
  • 使用 gopy 從 Go 套件產生 CPython 擴充模組。
  • 使用 importlib.import_module() 將產生的擴充模組匯入為 Python 模組。

以上是如何在不使用 C 的情況下從 Python 呼叫 Go 例程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn