亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#調(diào)用pyd的方法

 更新時間:2020年11月18日 08:55:59   作者:人類的實例  
這篇文章主要介紹了C#調(diào)用pyd的方法,幫助大家在項目中實現(xiàn)c#代碼與python代碼交互,在C#中調(diào)用python,也可以在python中調(diào)用C#.

1.安裝pythonnet

pythonnet是一個強大的工具包,用于C#代碼與python代碼進行交互,不僅可以實現(xiàn)在C#中調(diào)用python,也可以實現(xiàn)在python中調(diào)用C#.

GitHub:https://github.com/pythonnet/pythonnet

  • 首先打開nuget包管理器:

  • 根據(jù)你python的版本下載對應(yīng)的pythonnet,筆者使用的是python3.6,所以下載的是py36。

2.調(diào)用pyd中的模塊

  • 首先引用pythonnet:
using Python.Runtime;
  • 調(diào)用pyd的模塊:
//All calls to python should be inside a using (Py.GIL()) {/* Your code here */} block.
using (Py.GIL())
{
	//Import python modules using dynamic mod = Py.Import("mod"), then you can call functions as normal.
	//All python objects should be declared as dynamic type.
	dynamic np = Py.Import("test_pyd");
	np.hello();
	Console.ReadKey();
}

  • python代碼:
def hello():
  print("Hello world")

3.可能出現(xiàn)的問題及解決方案

  • 環(huán)境變量的配置,環(huán)境變量的對應(yīng)路徑的python版本需要與你下載的pythonnet包版本是相同的:

筆者電腦中有不同版本的python,經(jīng)過筆者測試后發(fā)現(xiàn)更換版本最簡單的方式是替換環(huán)境變量的順序,筆者是在win10系統(tǒng)下進行的測試,其他系統(tǒng)未進行過測試。
另外要注意你的pyd如果是使用64位編譯的,則環(huán)境變量對應(yīng)的python版本也需要是64位的。
當(dāng)python368在上時:

當(dāng)python378在上時:

  • System.DllNotFoundException:“無法加載 DLL“python36”: 找不到指定的模塊。

解決方案:將python文件夾中的python36.dll復(fù)制到debug目錄下

  • Python.Runtime.PythonException:“ModuleNotFoundError : No module named 'test_pyd'”

解決方案:將test_pyd.pyd放入debug目錄下

  • System.MissingMethodException:“Method not found: 'System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName, System.Reflection.Emit.AssemblyBuilderAccess)'.”

解決方案:該問題是由于.NET框架所導(dǎo)致的,筆者在使用.NET Core 3.1的時候就會出現(xiàn)這個錯誤,更換為.NET Framework 4.7.2后問題解決。

以上就是C#調(diào)用pyd的方法的詳細內(nèi)容,更多關(guān)于C#調(diào)用pyd的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C# IQueryable<T>揭開表達式樹的神秘面紗

    C# IQueryable<T>揭開表達式樹的神秘面紗

    這篇文章主要介紹了C# IQueryable<T>表達式樹,對IQueryable<T>感興趣的同學(xué),必須要仔細看一下
    2021-04-04
  • C#中l(wèi)ist用法實例

    C#中l(wèi)ist用法實例

    這篇文章主要介紹了C#中l(wèi)ist用法,結(jié)合實例形式分析了C#中l(wèi)ist排序、運算、轉(zhuǎn)換等常見操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#制作簡單的多人在線即時交流聊天室

    C#制作簡單的多人在線即時交流聊天室

    這篇文章主要介紹了C#制作簡單的多人在線即時交流聊天室的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • C#拼圖游戲編寫代碼

    C#拼圖游戲編寫代碼

    這篇文章主要為大家詳細介紹了C#拼圖游戲的編寫代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C#統(tǒng)計字符串里中文漢字個數(shù)的方法

    C#統(tǒng)計字符串里中文漢字個數(shù)的方法

    這篇文章主要介紹了C#統(tǒng)計字符串里中文漢字個數(shù)的方法,本文通過正則實現(xiàn)統(tǒng)計出一段字符串里中文字數(shù),需要的朋友可以參考下
    2014-08-08
  • C#開發(fā)Windows UWP系列之3D變換

    C#開發(fā)Windows UWP系列之3D變換

    這篇文章介紹了C#開發(fā)Windows UWP系列之3D變換,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C# 9 中新加入的關(guān)鍵詞 init,record,with

    C# 9 中新加入的關(guān)鍵詞 init,record,with

    這篇文章主要介紹了C# 9 中新加入的關(guān)鍵詞 init,record,with的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c# 9,感興趣的朋友可以了解下
    2020-08-08
  • 解析Silverlight調(diào)用WCF/Rest異常的解決方法

    解析Silverlight調(diào)用WCF/Rest異常的解決方法

    本篇文章對Silverlight調(diào)用WCF/Rest異常的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#對集合進行排序

    C#對集合進行排序

    這篇文章介紹了C#對集合進行排序的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#靜態(tài)static的用法實例分析

    C#靜態(tài)static的用法實例分析

    這篇文章主要介紹了C#靜態(tài)static的用法,以實例形式較為深入的分析了靜態(tài)類、靜態(tài)變量、靜態(tài)方法以及靜態(tài)構(gòu)造函數(shù)的特性與用法,需要的朋友可以參考下
    2014-10-10

最新評論