最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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位的。
當python368在上時:

當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#使用Objects?Comparer進行對象比較

    C#使用Objects?Comparer進行對象比較

    本文主要介紹了C#使用Objects?Comparer進行對象比較,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • C#中參數(shù)的傳遞方式詳解

    C#中參數(shù)的傳遞方式詳解

    本文詳細講解了C#中參數(shù)的傳遞方式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • c#入門之分支語句使用方法(三元運算符、if語句、switch語句)

    c#入門之分支語句使用方法(三元運算符、if語句、switch語句)

    這篇文章主要介紹了c#入門之分支語句使用方法,包括三元運算符、if語句、switch語句,需要的朋友可以參考下
    2014-04-04
  • 深入理解C#中的枚舉

    深入理解C#中的枚舉

    本篇文章主要是對C#中的枚舉進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • C#?漢明距離的算法實現(xiàn)

    C#?漢明距離的算法實現(xiàn)

    漢明距離是用來衡量兩個等長字符串之間差異的度量指標,本文主要介紹了C#?漢明距離的算法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • .net從服務(wù)器下載文件中文名亂碼解決方案

    .net從服務(wù)器下載文件中文名亂碼解決方案

    這篇文章主要給大家介紹.net中從服務(wù)器下載文件中文名亂碼的解決方案,有需要的朋友可以參考下
    2015-08-08
  • DevExpress實現(xiàn)TreeList節(jié)點互斥的方法

    DevExpress實現(xiàn)TreeList節(jié)點互斥的方法

    這篇文章主要介紹了DevExpress實現(xiàn)TreeList節(jié)點互斥的方法,對于初學(xué)者更好的理解C#有一定的幫助,需要的朋友可以參考下
    2014-08-08
  • 詳解如何在C#中循環(huán)訪問目錄樹

    詳解如何在C#中循環(huán)訪問目錄樹

    在C#中,訪問文件系統(tǒng)是常見的需求之一,有時我們需要遍歷目錄樹以執(zhí)行某些操作,例如搜索文件、計算目錄大小或執(zhí)行批量處理,本文將詳細介紹如何在C#中循環(huán)訪問目錄樹,并提供一個完整的示例,需要的朋友可以參考下
    2024-08-08
  • C#中的引用類型以及特殊引用類型詳解

    C#中的引用類型以及特殊引用類型詳解

    本文詳細講解了C#中的引用類型以及特殊引用類型,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)(全部構(gòu)建,查找構(gòu)建)

    C#構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)(全部構(gòu)建,查找構(gòu)建)

    這篇文章主要介紹了C#構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)(全部構(gòu)建,查找構(gòu)建),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

乌拉特前旗| 华容县| 沛县| 兴宁市| 南开区| 张北县| 铜陵市| 宁明县| 太康县| 武平县| 克什克腾旗| 枝江市| 壤塘县| 安丘市| 吉水县| 宝应县| 同心县| 谢通门县| 兰州市| 利津县| 巴里| 抚顺市| 旺苍县| 会理县| 格尔木市| 鹿泉市| 安平县| 灵宝市| 云南省| 绥宁县| 田阳县| 北川| 昂仁县| 美姑县| 广水市| 龙岩市| 元阳县| 彭水| 海城市| 平遥县| 香港|