C# は Python によって生成された pyd ファイルを呼び出します

1. C# コンソール プログラムを作成します。

2.vs2017 pythonnet_netstandard_py37_win をインストールします

まず、nuget パッケージ マネージャーを開きます。

「NuGet\Install-Package pythonnet_netstandard_py37_win -Version 2.5.2」と入力します。

3. 関連コード

//conda環境を設定する                

var pathToVirtualEnv = @"C:\Users\SXM\anaconda3\envs\suff";
                Environment.SetEnvironmentVariable("PATH", pathToVirtualEnv, EnvironmentVariableTarget.Process);
                Environment.SetEnvironmentVariable("PYTHONHOME", pathToVirtualEnv, EnvironmentVariableTarget.Process);
                Environment.SetEnvironmentVariable("PYTHONPATH", $"{pathToVirtualEnv}\\Lib\\site-packages;{pathToVirtualEnv}\\Lib",
                    EnvironmentVariableTarget.Process);

using (Py.GIL()) // これを使用して、Python メソッドを呼び出すコードをラップします
            {                 // まず、Python モジュールを導入します。これは、上で生成した pyd ファイルです (my_module.cp36-win_amd64.pyd など)                 。 = Py.Import("train");

                // まず、Python モジュールをインポートします (my_module.cp36-win_amd64.pyd など、上で生成した pyd ファイルです)
                Dynamic my_module = Py.Import("train");
                // Python 関数を呼び出します。
             // Python を呼び出します。機能。

                my_module.func(arg1, arg2);
            }

考えられるエラー:

1. DLL 'python37' をロードできません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)。

解決策: Python 環境で python37.dll を見つけて、C# プロジェクト x64\Debug ファイルに配置します。

 

 

おすすめ

転載: blog.csdn.net/sxmsxmsmxm/article/details/127280142