Python.NET:Pythonと.NETを連携させるパッケージ

以前NumSharpを調べた時に



Pythonと.NETを連携させるPython.NETの存在を知った。MITライセンスなので商用利用も可能です。

Python.NET

Python.NET (pythonnet)はPythonプログラマがWindowsの.NET 4.0+共通言語ランタイム(CLR)、およびLinuxとOSXのMonoランタイムとほぼシームレスに統合できるようにするパッケージです。Python.NETは.NET開発者向けの強力なアプリケーションスクリプトツールを提供します。このパッケージを使用することで、CLR (C#, VB.NET, F#, C++/CLI)を対象とする任意の言語で記述された.NETサービスとコンポーネントを使用して、.NETアプリケーションをスクリプト化したり、Pythonで.NETアプリケーション全体を構築できます。

Pythonから.NETを呼べるし、.NETからPythonを呼べる。

Python.NETGitHubで公開されており、インストール方法はGitHubWikiを参照。



試した方々の記事↓
https://qiita.com/hogegex/items/3743225a7af13e93df78
https://tadaoyamaoka.hatenablog.com/entry/2020/06/02/214308

IronPythonのように別途特別な実行環境を用意するわけでは無く、純粋にPython環境を叩けるということなので、最近の機械学習系のライブラリもそのまま.NETから利用できるらしい。

以前はIronPythonぐらいしか.NET連携の手段が無かったから、対応していないパッケージが多かったよな。



気になるのは「Unityでも使えるのか」という点ですが、「Unityで動かした」という書き込みと共に「クラッシュした」という報告も見かけるのでなんとも。。。

2023年 追記:
Python Embeddable PackageをUnityのStreamingAssetsフォルダに配置して、ビルドしたアプリに同梱・配布する方法(Windows限定)↓
https://zenn.dev/shiena/articles/unity-python

関連記事

Mitsuba 2:オープンソースの物理ベースレンダラ

OpenSfM:PythonのStructure from ...

OpenMesh:オープンソースの3Dメッシュデータライブラ...

3Dグラフィックスの入門書

Gource:バージョン管理の履歴を可視化するツール

uvでWindows11のPython環境を管理する

Dlib:C++の機械学習ライブラリ

PythonでBlenderのAdd-on開発

HD画質の無駄遣い

DCGAN (Deep Convolutional GAN)...

3D復元技術の情報リンク集

OpenCVでPhotoshopのプラグイン開発

Managing Software Requirements...

Point Cloud Utils:Pythonで3D点群・...

pythonもかじってみようかと

C++の抽象クラス

UnityのGlobal Illumination

Raspberry PiでIoTごっこ

FreeMoCap Project:オープンソースのマーカー...

OpenCV

まだ続くブログの不調

bpy-renderer:レンダリング用Pythonパッケー...

Live CV:インタラクティブにComputer Visi...

クラスの基本

iPhone・iPod touchで動作する知育ロボット『R...

UnrealCLR:Unreal Engineで.NET C...

タマムシっぽい質感

3Dスキャンしたテクスチャから照明を除去するUnityツール...

Alice Vision:オープンソースのPhotogram...

Caffe:読みやすくて高速なディープラーニングのフレームワ...

AfterEffectsプラグイン開発

WordPressプラグインの作り方

ROSでガンダムを動かす

Web経由でRaspberry PiのGPIOを操作したい

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

UnityユーザーがUnreal Engineの使い方を学ぶ...

ManuelBastioniLAB:人体モデリングできるBl...

OpenCVのfindEssentialMat関数を使ったサ...

Human Generator:Blenderの人体生成アド...

Unityの各コンポーネント間でのやり取り

C#で使える遺伝的アルゴリズムライブラリ『GeneticSh...

C++ 標準テンプレートライブラリ (STL)

コメント