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

関連記事

Windows10でPyTorchをインストールしてVSCodeで使う

BGSLibrary:OpenCVベースの背景差分ライブラリ

Unreal Engineの薄い本

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

OpenCV 3.1のsfmモジュールのビルド再び

Unityからkonashiをコントロールする

1枚の画像からマテリアルを作成できる無料ツール『Materialize』

GeoGebra:無料で使える数学アプリ

Raspberry PiでIoTごっこ

UnityからROSを利用できる『ROS#』

MB-Lab:Blenderの人体モデリングアドオン

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

OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク

UnityのMonoBehaviourクラスをシングルトン化する

AmazonEC2のインスタンスをt1.microからt2.microへ移行する

Maya LTのQuick Rigを試す

BlenderのPython環境にPyTorchをインストールする

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

UnityのGlobal Illumination

Verilog HDL

Seleniumを使ったFXや株の自動取引

UnityでShaderの入力パラメータとして行列を渡す

AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う

SONY製のニューラルネットワークライブラリ『NNabla』

Raspberry Pi

Quartus II

ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る

Google App Engine上のWordPressでAmazonJSを利用する

PythonでMayaのShapeノードプラグインを作る

NeuralNetwork.NET:.NETで使えるTensorFlowライクなニューラルネットワー...

Unityで強化学習できる『Unity ML-Agents』

ブログが1日ダウンしてました

科学技術計算向けスクリプト言語『Julia』

MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェア

定数

pythonもかじってみようかと

ManuelBastioniLAB:人体モデリングできるBlenderアドオン

Polyscope:3Dデータ操作用GUIライブラリ

ManimML:機械学習の概念を視覚的に説明するためのライブラリ

Webサイトのワイヤーフレームが作成できるオンラインツール

Regard3D:オープンソースのStructure from Motionツール

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

コメント