Isibuyekezo se-JPype 1.0.2, umtapo wolwazi wokufinyelela amakilasi e-Java ku-Python

Iyatholakala ukukhishwa okusha kwe-interlayer I-JPype 1.0.2, okuvumela izinhlelo zokusebenza zePython ukuthi zibe nokufinyelela okugcwele emitapweni yolwazi yekilasi ngolimi lwe-Java. Nge-JPype evela ku-Python, ungasebenzisa imitapo yolwazi eqondene ne-Java ukuze udale izinhlelo zokusebenza eziyingxube ezihlanganisa ikhodi ye-Java ne-Python. Ngokungafani ne-Jython, ukuhlanganiswa ne-Java akufinyelelwa ngokwakha okuhlukile kwe-Python ye-JVM, kodwa ngokusebenzisana ezingeni layo yomibili imishini ebonakalayo esebenzisa inkumbulo eyabiwe. Indlela ehlongozwayo ayivumeli kuphela ukufeza ukusebenza kahle, kodwa futhi inikeza ukufinyelela kuyo yonke imitapo yolwazi ye-CPython ne-Java. Ikhodi yephrojekthi isatshalaliswa ngu ilayisensi ngaphansi kwe-Apache 2.0.

Izinguquko eziyinhloko:

  • Inqolobane yengezwe kumakholi wendlela ukuze kugwenywe ukulungiswa kokulayishwa ngokweqile, okunciphisa kakhulu umthelela wokusebenza wokulungiswa kwendlela, ikakhulukazi uma ukulayishwa okungaphezulu okufanayo kubizwa izikhathi eziningi, njengalapho kusetshenziswa iluphu.
  • Kusukela ezikhathini ezi-4 kuye kweziyi-100, kuye ngohlobo lwedatha, ukudluliswa kwezinhlu, ama-tuples nama-buffers ukuya ku-array ye-Java primitives kuyasheshisa. Ukuguqulwa kusebenzisa ukucubungula okuthuthukisiwe kwamabhafa enkumbulo, esikhundleni se-Sequence API. Uma kuhlangatshezwana ne-buffer ye-Python, into yokuqala kuphela ehlolelwa ukuguqulwa, njengoba lezi zibhafa ziyafana.
  • Icubungula imisebenzi yokuvala shaqa (isetshenziswe ku-JPype 1.0.0, kodwa yeqiwe lapho kulungiselelwa i-changelog). I-JPype manje ibiza isimiso sokuvalwa kwe-JVM, esizama ukuphuma kahle. Lokhu kuholela ezinguqukweni eziningana ekuziphatheni. Imicu okungeyona ingemuva (izingcingo zommeleli) manje ingagcina i-JVM ivuliwe ize iqede. Amakholi ommeleli azocubungula ukuvala ucingo kuze kuqedwe, kodwa azothola umlayezo wokuhosha. Amafayela manje avaliwe kahle futhi agxiliwe kudiski uma imicu iphethe okuhlukile njengoba kulindelekile. Amahhuku okuhlanza izinsiza kanye namaphothuli asetshenziswa. Lapho imicu ikhishwa, izingwegwe ze-AtExit zibizwa. Nge-daemon, ukujoyina intambo okuzenzakalelayo kuyasetshenziswa uma usebenzisa i-JVM evela kuPython. Ikhodi ye-Buggy engakwazi ukuphatha kahle ukuhlanzwa kwentambo cishe izolenga lapho ukuvala shaqa kwenziwa. Amadokhumenti engeziwe angatholakala kubhukwana lomsebenzisi.
  • I-wrapper ye-Throwable ithole isembozo se-Object esikhundleni somphumela olindelekile, okuholele ekuguqulweni okungajwayelekile okuvela kumakilasi ePython.
  • Ama-typos alungisiwe ohlelweni lokungenisa oluholele ephutheni elithi '»jname» lingatholakali'.
  • Iqinisekise ukuthi i-"^C" iphromothwe ngendlela efanele ku-KeyboardInterrupt.
  • Inkinga elungisiwe ngezimpawu kusukela kuPython 3.5.3. I-PySlice_Unpack yethulwe ekukhishweni kwesiqephu esilandelayo (3.5.4) futhi bekungafanele isetshenziswe.
  • Kulungiswe isiphazamisi nge-numpy.linalg.inv eholele ekuphahlazekeni. Inkinga ilandelelwe ekuxhumaneni kochungechunge phakathi kwe-JVM nokunye okunambitheka okuncane. Isixazululo esihlongozwayo ukushayela i-numpy.linalg.inv ngaphambi kokuqala i-JVM.

Source: opennet.ru

Engeza amazwana