Kuburitswa kweJPype 0.7.2, maraibhurari ekuwana makirasi eJava kubva kuPython

Inowanikwa layer release JPype 0.7.2, iyo inobvumira zvikumbiro zvePython kuti zvive nekuwana zvizere kumaraibhurari ekirasi mumutauro weJava. NeJPype kubva kuPython, unogona kushandisa Java-chaiwo maraibhurari kugadzira mahybrid application anosanganisa Java nePython kodhi. Kusiyana neJython, kubatanidzwa neJava kunowanikwa kwete kuburikidza nekugadzira Python musiyano weJVM, asi kuburikidza nekudyidzana pamwero wemashini ese ari maviri uchishandisa yakagovaniswa ndangariro. Iyo yakarongwa nzira inobvumira kwete chete kuita zvakanaka, asi inopawo mukana kune ese maCPython uye Java maraibhurari. Project code inoparadzirwa ne ine rezinesi pasi peApache 2.0.

Shanduko huru:

  • Kunze kwakakandwa muC ++ uye Java kodhi ikozvino inopa yakasarudzika stack kana kusarudzika kuchiitika muPython kodhi. Nekudaro, kuti uwane ruzivo nezve yakasarudzika stack, iwe hauchadi kufonera stacktrace().
  • Sipidhi yekufona yakapetwa katatu.
  • Zvinokosha (nemirairo yehukuru) yakawedzera kukurumidza kutapurirana mukati
    numpy buffers ye multidimensional arrays. Multidimensional primitives pass kuverenga-chete makopi akagadzirwa mukati meJVM ine contiguous C dhizaini.

  • Zvese zvakafumurwa zvemukati zvakatsiviwa neCPython kuita, uye zviratidzo __javaclass__, __javavalue__ uye __javaproxy__
    deleted. Iyo yakatsaurirwa Java slot yakawedzerwa kune ese eCPython mhando dzinogara nhaka kubva kujpype kirasi mhando. Matafura ese epachivande akaendeswa kuCPython. Mhando dzeJava dzinofanirwa ikozvino kugara nhaka kubva kuJClass metaclass, iyo inoshandisa mhando slots. Mixins yePython base makirasi haabvumidzwe. Mhando idzi ndeChinhu, Proxy, Exception, Nhamba uye Array uye nhaka yakananga kubva kuCPython yemukati mekuita.

  • Kutsvaga kwakavandudzwa uye kusarudzika kubata.
  • Array zvimedu zvino kugadziriswa semaonero anotsigira kunyora kumashure kune yekutanga, senge numpy array. Kune array slicing, rutsigiro rwunopihwa kumisikidza uye kudzoreredza kukosha mumatanho (chidimbu (kutanga, mira, nhanho)).
  • Arrays ikozvino inotsigira "__reversed__".
  • Java arrays ikozvino inotsigira memoryview API uye bvisa kutsamira pane numpy kupfuudza zviri mukati mebuffer.
  • Numpy haisisiri kutsamira (yakawedzera) uye kuendesa ndangariro kune numpy inowanikwa pasina kuunganidza nerutsigiro rwe numpy.
  • JInterface yakagadzirirwa sekirasi meta. Shandisa isinstance(cls, JInterface) kutarisa mainterface.
  • Yakawedzera kushaikwa maTLD "mil", "net" uye "edu" kune default imports.
  • Mameseji ekukanganisa akavandudzwa eUnsupportedClassVersion panguva yekutanga.
  • java.util.Mepu ikozvino inokanda KeyError kana chinhu chikasawanikwa. Values ​​iyo isina maturo ichiri kudzoka Hapana sezvaitarisirwa. Shandisa get() kana uchida kubata makiyi asina chinhu seHapana.
  • Yakabviswa java.util.Collection sezvo ichiremedza zvinoshamisa pakati pebvisa(Chinhu) uye bvisa(int) paMazita. Shandisa iyo Java bvisa () nzira yekuwana hunhu hweJava, asi mhando yekukanda inokurudzirwa zvakanyanya kuti idzore kuremerwa.
  • java.lang.IndexOutOfBoundsException ikozvino inogona kubatwa uchishandisa IndexError exception class paunowana java.util.List elements.

Source: opennet.ru

Voeg