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連携の手段が無かったから、対応していないパッケージが多かったよな。
IronPythonを使ってUnity上でPythonのコードを実行する
ここ最近、Pythonインターフェイスを用意しているライブラリが非常に多くて、使ってみると確かに、C++でガリガリと低レベルのコードを書くよりもコーディング量が少なくて扱いが楽なのである。最近じわじわと日常に浸透しているSoftBankのロ...


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

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


スポンサーリンク

関連記事

3DCG Meetup #4に行ってきた
C++の抽象クラス
OpenCVの超解像(SuperResolution)モジュールを試す
OpenCV3.3.0でsfmモジュールのビルドに成功!
MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
AfterEffectsプラグイン開発
MLDemos:機械学習について理解するための可視化ツール
Russian3DScannerのトポロジー転送ツール『WrapX』
Twitter APIのPythonラッパー『python-twitter』
FreeMoCap Project:オープンソースのマーカーレスモーションキャプチャ
書籍『仕事ではじめる機械学習』を読みました
法線マップを用意してCanvas上でShadingするサンプル
OpenCVで動画の手ぶれ補正
Konashiを買った
CNN Explainer:畳み込みニューラルネットワーク可視化ツール
JavaScriptとかWebGLとかCanvasとか
Amazon Web ServicesでWordPress
BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール
ArUco:OpenCVベースのコンパクトなARライブラリ
PythonでBlenderのAdd-on開発
読みやすくて高速なディープラーニングのフレームワーク『Caffe』
AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
BlenderでPhotogrammetryできるアドオン
Gource:バージョン管理の履歴を可視化するツール
OpenCVで顔のモーフィングを実装する
iOSデバイスと接続して連携するガジェットの開発方法
Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番
Raspberry PiでIoTごっこ
Maya LTのQuick Rigを試す
libigl:軽量なジオメトリ処理ライブラリ
MB-Lab:Blenderの人体モデリングアドオン
NumSharp:C#で使えるNumPyライクな数値計算ライブラリ
Cartographer:オープンソースのSLAMライブラリ
Unityで強化学習できる『Unity ML-Agents』
機械学習に役立つPythonライブラリ一覧
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
Geogram:C++の3D幾何アルゴリズムライブラリ
Quartus II
Unityで学ぶC#
konashiのサンプルコードを動かしてみた

コメント