C#调用python文件
最近在工作中需要(呵呵)用C#調用python文件,所使用的工具是IronPython
由于對C#語言不熟悉,所以這篇文章里就不探討C#語言相關問題。
- 準備工作
下載安裝IronPython,地址:http://ironpython.net/download/
下載安裝VS,推薦2015之后(我是下載的2017),地址:https://www.visualstudio.com/zh-hans/downloads/
配置過程我就不說了,詳細教程在這里
遇到的問題及注意事項
1.IronPython只支持python2,不支持python3(這點很坑,python已經說明python2將不再更新維護,希望大家都去用python3,但是IronPython竟然只支持python2-_-!!!),所以只好去下載了python2,其中也遇到了一些問題,在這
2.安裝了python2后,原來基于python3的代碼就需要修改(還好改動不大,就只需要把print后的小括號去掉就可以)
3.在調用一些python庫時,一些庫確實可以用之前安裝教程中的方法導入進來(指定路徑),但是也有一些庫不行,比如我這次遇到的jieba庫,jieba庫上說明的是同時支持python2和python3,但是我在python中運行時,正常,但是C#一調用就會拋出ImportError: cannot import name _remove_dead_weakref
這個錯誤,在網上怎么搜索也找不到切實可行的修改方案,只好換一個庫,換成了thulac庫(這個也出現了一些小問題,在這),結果再次拋出
ImportError: cannot import ‘,’(具體錯誤信息忘了,大意就是導入過程中有個‘,’不知道什么鬼)
真是心累,沒辦法,去 圍城 外邊下載了smallseg這個庫(出不去的話去這里),蒼天啊,大地啊,終于成功了,啥也不說了。。。
4.這點主要是提醒下在做C#調用python的同僚們,一定要注意,如果修改了庫,一定要先運行能出來正確結果才是成功的,而不是只要沒提示錯誤就是修改成功了,切記!(我就是因為卡在一個奇怪的錯誤處,半天沒反應過來,python運行正常,不提示錯誤,但是沒有輸出結果,結果在C#調用時提示了錯誤,都是淚啊)
最后說下現在的情況,代碼沒有問題了,導入也正常了,就是C#中的從Form的Box中讀取到的輸入信息是string[]類型的,而我的python代碼的輸入較為復雜,是一個list里包含一個list和一段string類型,現在在解決這個問題,感覺自己要廢掉了,對C#完全不熟悉啊,哎
總結
以上是生活随笔為你收集整理的C#调用python文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3.5链接SQL2017,读
- 下一篇: python2的idle打不开了