Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 1683|Vastaus: 4

[Lähde] .NET/C# kutsuu Python-ympäristöä suorittamaan .py skriptejä

[Kopioi linkki]
Julkaistu 2025-2-11 klo 16:01:21 | | | |
Vaatimukset: Python-ohjelmointi on nykyään erittäin suosittua, laajasti käytössä data-analyysissä ja tieteellisessä tutkimuksessa, suurissa malleissa, syväoppimisessa jne., jotkut mallialgoritmit on kirjoitettu pythonilla, ja niiden täytyy käyttää .NET:iä python-skriptien suorittamiseen, parametrien välittämiseen ja tulosten saamiseen. Verkkoratkaisut ovat: prosessien suoritus, IronPython, pythonnet ja lopuksi pythonnet.

pythonnet-Python.NET

Python.NET on ohjelmistopaketti, joka mahdollistaa Python-ohjelmoijille .NET Universal Language Runtimen (CLR) lähes saumattoman integroinnin ja tarjoaa .NET-kehittäjille tehokkaita sovellusskriptaustyökaluja. Se mahdollistaa Python-koodin vuorovaikutuksen CLR:n kanssa ja sitä voidaan käyttää myös Pythonin upottamiseen .NET-sovelluksiin.

Osoite:Hyperlinkin kirjautuminen on näkyvissä.

Valmistele Python-ympäristö

Tässä artikkelissa käytetään python-3.13.2-embed-amd64 -käyttöympäristöä, viite:

Python-upotuspaketit asentavat paketteja pip:llä
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 upotuspaketti 64-bittinen lataus:Hyperlinkin kirjautuminen on näkyvissä.

Luo uusi .NET 8 -konsoli

Luo uusi .NET 8 -konsoliviite seuraavalla viitteellä:

Koska pythonnet käyttääBinaryFormatterSeuraava poikkeus heitetään suorituksen aikana:

Käsittelemätön poikkeus. System.NotSupportedException: BinaryFormatterin serialisointi ja deserialisointi on poistettu käytöstä tässä sovelluksessa. NähdäHyperlinkin kirjautuminen on näkyvissä.Lisätietoja varten.

Ongelman ratkaisemiseksi muokkaa .csproj-solmua <PropertyGroup> ja lisää seuraava asetus:

Täydellinen kokoonpano on seuraava:

Py.GIL() on tärkeä toiminto Python.NET-kirjastossa Global Interpreter Locksin (GIL) hankkimiseen ja vapauttamiseen. GIL on mekanismi CPython-tulkitsijassa, joka varmistaa, että kerrallaan suorittaa vain yksi säie Python-tavukoodia. Tämä on tärkeää monisäikeisessä ympäristössä, erityisesti jos Python- ja .NET-koodi sekoitetaan keskenään.

Pythonin float-tyyppi on itse asiassa kaksinkertaisen tarkkuuden kelluke (64 bittiä), joka vastaa C#:n kaksoistyyppiä.

Suorita python-koodi suoraan

Yksinkertaisessa python-koodissa, joka voidaan suorittaa suoraan, koodi on seuraava:



Kutsu python-funktiota

Koodi on seuraava:



Deploy Linux-ympäristöön testauksia varten

Normaalissa käytössä olevat testit ovat seuraavat:



Viittaus:
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.




Edellinen:Linux käyttää pyenv-järjestelmää Python-ympäristön asentamiseen
Seuraava:Angular 18 Series (Thirty-One) VS Code Development Assistance -lisäosa
 Vuokraisäntä| Julkaistu 2025-2-11 klo 16:08:17 |
Kutsu python-funktiota, jonka argumenttina on listataulukko (<luokka 'list'>)


Koodi on seuraava:


 Vuokraisäntä| Julkaistu 2025-2-11 klo 16:25:40 |
C# kutsuu python-funktiota saadakseen tuple <luokan 'tuple'> palautusarvon

Koodi on seuraava:



 Vuokraisäntä| Julkaistu 2025-2-24 09:27:40 |
CSnakes- Työkalu Python-koodin upottamiseen .NET-projekteihin

Lähde:Hyperlinkin kirjautuminen on näkyvissä.
Dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.
 Vuokraisäntä| Julkaistu 2025-9-1 klo 16:01:12 |
Käännä tavukoodin suoritukseen

Viittaus:Hyperlinkin kirjautuminen on näkyvissä.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com