Persyaratan: Pemrograman Python sangat populer saat ini, banyak digunakan dalam analisis data dan penelitian ilmiah, model besar, pembelajaran mendalam, dll., Beberapa algoritme model ditulis dalam python, perlu menggunakan .NET untuk mengeksekusi skrip python, meneruskan parameter dan mendapatkan hasil. Solusi online adalah: eksekusi proses, IronPython, pythonnet, dan terakhir pythonnet.
pythonnet-Python.NET
Python.NET adalah paket perangkat lunak yang memungkinkan pemrogram Python untuk mengintegrasikan .NET Universal Language Runtime (CLR) hampir dengan mulus dan menyediakan alat skrip aplikasi yang kuat kepada pengembang .NET. Ini memungkinkan kode Python untuk berinteraksi dengan CLR dan juga dapat digunakan untuk menyematkan Python ke dalam aplikasi .NET.
Alamat:Login hyperlink terlihat.
Siapkan lingkungan Python
Artikel ini menggunakan python-3.13.2-embed-amd64 sebagai lingkungan yang berjalan, referensi:
Python-3.13.2 menyematkan paket unduhan 64-bit:Login hyperlink terlihat.
Membuat konsol .NET 8 baru
Buat referensi konsol .NET 8 baru dengan referensi berikut:
Karena pythonnet akan menggunakanBinerFormatter, pengecualian berikut akan dilemparkan selama eksekusi:
Pengecualian yang tidak ditangani. System.NotSupportedException: Serialisasi dan deserialisasi BinaryFormatter dinonaktifkan dalam aplikasi ini. LihatLogin hyperlink terlihat.untuk informasi lebih lanjut. Untuk mengatasi masalah, edit node .csproj <PropertyGroup> dan tambahkan konfigurasi berikut:
Konfigurasi lengkapnya adalah sebagai berikut:
Py.GIL() adalah fungsi penting dalam perpustakaan Python.NET untuk mendapatkan dan melepaskan Global Interpreter Locks (GIL). GIL adalah mekanisme dalam penerjemah CPython yang memastikan bahwa hanya satu utas yang mengeksekusi bytecode Python pada satu waktu. Ini penting dalam lingkungan multi-threaded, terutama jika kode Python dan .NET dicampur bersama.
Tipe float Python sebenarnya adalah float presisi ganda (64 bit), sesuai dengan tipe ganda C#.
Eksekusi kode python secara langsung
Untuk kode python sederhana, yang dapat dieksekusi secara langsung, kodenya adalah sebagai berikut:
Memanggil fungsi python
Kodenya adalah sebagai berikut:
Sebarkan ke lingkungan Linux untuk pengujian
Tersedia untuk operasi normal, ujiannya adalah sebagai berikut:
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat. |