php小編小新你好,最近有讀者在使用python檔案時遇到了一個問題,他無法在自己的python檔案中使用go共享函式庫。這個問題可能是由於一些配置或環境問題導致的。在解決這個問題之前,你可以嘗試檢查你的環境變數和路徑設置,確保你的go共享庫正確安裝並且路徑正確設置。另外,你也可以嘗試重新安裝或更新你的go共享庫,以確保它與你的python版本相容。如果問題仍然存在,你可以考慮在相關的開發社群或論壇上尋求協助,那裡可能有其他開發者遇到類似的問題並且可以提供解決方案。希望這些資訊對你有幫助!
我有一個名為 main.go
的文件,它定義了一個名為 test
的函數。
我希望能夠從我的 python 腳本中呼叫這個函數。
main.go
package main import "C" // export test func test() int { return 1 } func main() {}
編譯:
go build -o lib.so -buildmode=c-shared main.go
main.py
import ctypes mylib = ctypes.CDLL("./lib.so") result = mylib.test() print(result)
當我執行 python 程式時,出現以下錯誤:
AttributeError:./lib.so:未定義符號:test
我錯過了什麼?
Go版本
go版本go1.21.3 linux/amd64
Python 版本:
Python 3.10.12
我嘗試更新 Go(之前我的版本是 1.21.1)
除了 //export
之外,一切都是正確的
有一個額外的空間造成了問題
package main import "C" //export test <------ remove the extra space here func test() int { return 1 } func main() {}
python main.py
輸出:
1
以上是無法在我的 python 檔案中使用 go 共享庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!