[討論] 在 .NET 使用 Pythonnet 的應用情境

看板Soft_Job作者 (呵呵呵呵呵)時間2年前 (2021/08/12 23:18), 編輯推噓7(7010)
留言17則, 9人參與, 2年前最新討論串1/1
板上各位大大好 最近工作有接觸到 Pythonnet 想請教一下有使用過 Pythonnet 大大的經驗 我們部門軟體的核心架構是使用.NET ( UI, Custom Class, Custom Collection... ) 為了使程式外部化,將部分功能的模組寫在 Python 透過 Pythonnet 就可以在 .NET 動態執行 Python Script Python 的好處是有很多現成的 Package 可以縮短軟體開發的時間 但 Python 與 .NET 是兩種不同的語言,資料結構當然也不同 在這種使用情境下寫的 Python Code 傳入的變數若是定義在 .NET 的物件 則必須在 Python method 裡操作 .NET 物件的 property , method 要怎麼使用 .NET 物件還得回去看 C# 寫的 Source Code 且這種方式很難 Debug Python Code 因為 App 是 .NET,故 IDE 只能 Debug .NET 的部分 若 Python Script 寫的很複雜或呼叫很多層,要 Debug Python 就只能到處加 Print 而 Python Script 執行結束後,所有變數都會消失 若要 Keep 住某些 Python 變數的狀態或資料,必須要先轉成 .NET 物件並存到 .NET Collection 其他 Python Script 要使用已保留資料,就必須再去從 .NET Collection 把資料拿出來 因為高度相依 .NET 建立的資料結構及物件,若沒有使用我們部門的 .NET 核心,這些 Python 模組不能單獨使用 寫出來的 Python Code 感覺變得很奇怪,不像是 Python 雖然有問過部門前輩現行做法的奇怪之處,但得到的回應是 習慣就好了 (疑? 因此想問看看板上大大在 .NET 使用 Pythonnet 是在什麼情境會需要? 這種程式開發方法會是主流嗎? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.30.121 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1628781494.A.6E7.html

08/13 01:35, 2年前 , 1F
我不懂為什麼要這麼麻煩......
08/13 01:35, 1F

08/13 02:29, 2年前 , 2F
PTVS可以同時debug python和c#
08/13 02:29, 2F

08/13 05:27, 2年前 , 3F
為什麼不把.net保成一個服務讓外部python直接call?
08/13 05:27, 3F

08/13 09:42, 2年前 , 4F
為什麼不用json格式來做序列化跟反序列化來交換就好?
08/13 09:42, 4F

08/13 10:29, 2年前 , 5F
其中一邊做成webapi給另一邊呼叫應該比較容易吧!
08/13 10:29, 5F

08/13 10:30, 2年前 , 6F
json protobuf這些去decouple
08/13 10:30, 6F

08/13 11:03, 2年前 , 7F
未看先猜最原本的 code 就這樣寫,後來加功能的就複
08/13 11:03, 7F

08/13 11:03, 2年前 , 8F
製一樣的模式繼續寫,最後就大到改不動了。
08/13 11:03, 8F

08/13 23:33, 2年前 , 9F
謝謝 我找時間試一下^^@orangeterry
08/13 23:33, 9F

08/13 23:38, 2年前 , 10F
@laputaflutin 有些是包成 dll 讓 python call 但
08/13 23:38, 10F

08/13 23:38, 2年前 , 11F
UI 在 .NET做完 Python 某些行為還得把資料拿回 UI
08/13 23:38, 11F

08/13 23:38, 2年前 , 12F
08/13 23:38, 12F

08/13 23:49, 2年前 , 13F
@jinmin88 變數可以存沒問題,但兩種語言型別不同的
08/13 23:49, 13F

08/13 23:49, 2年前 , 14F
問題會建議怎麼處理呢?
08/13 23:49, 14F

08/13 23:58, 2年前 , 15F
@Murasaki0110 非常感謝,認識了一個厲害的東西!
08/13 23:58, 15F

08/14 00:00, 2年前 , 16F
@Phenomenon 也許是吧 我的資資歷尚淺不曉得緣由
08/14 00:00, 16F

08/14 06:10, 2年前 , 17F
用pipe會不會比較好
08/14 06:10, 17F
文章代碼(AID): #1X5JksRd (Soft_Job)