JPype 1.0.2 рдЕрдкрдбреЗрдЯ, Python рд╡рд░реВрди Java рдХреНрд▓рд╛рд╕реЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдпрдмреНрд░рд░реА

рдЙрдкрд▓рдмреНрдз рдЗрдВрдЯрд░рд▓реЗрдЕрд░рдЪреЗ рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди JPype 1.0.2, рдЬреЗ рдЬрд╛рд╡рд╛ рднрд╛рд╖реЗрддреАрд▓ рдХреНрд▓рд╛рд╕ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдкрд╛рдпрдерди рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдирд╛ рдкреВрд░реНрдг рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдкрд╛рдпрдердирдЪреНрдпрд╛ JPype рд╕рд╣, рддреБрдореНрд╣реА Java рдЖрдгрд┐ Python рдХреЛрдб рдПрдХрддреНрд░ рдХрд░рдгрд╛рд░реЗ рд╣рд╛рдпрдмреНрд░рд┐рдб рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Java-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. Jython рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, Java рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг JVM рд╕рд╛рдареА Python рдкреНрд░рдХрд╛рд░ рддрдпрд╛рд░ рдХрд░реВрди рдирд╛рд╣реА рддрд░ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд╛рдкрд░реВрди рджреЛрдиреНрд╣реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯреАрдХреЛрди рдХреЗрд╡рд│ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рдордЧрд┐рд░реА рд╕рд╛рдзреНрдп рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рддрд░ рд╕рд░реНрд╡ CPython рдЖрдгрд┐ Java рд▓рд╛рдпрдмреНрд░рд░реАрдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд Apache 2.0 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд.

рдореБрдЦреНрдп рдмрджрд▓:

  • рдУрд╡реНрд╣рд░рд▓реЛрдб рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрдердб рдХреЙрд▓реНрд╕рдордзреНрдпреЗ рдХреЕрд╢реЗ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдореЗрдердб рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдЪрд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдХрдореА рд╣реЛрддреЛ, рд╡рд┐рд╢реЗрд╖рдд: рд▓реВрдк рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рдирдЪреНрдпрд╛ рд╡реЗрд│реА рд╕рдорд╛рди рдУрд╡реНрд╣рд░рд▓реЛрдб рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдХреЙрд▓ рдХреЗрд▓реНрдпрд╛рд╕.
  • 4 рддреЗ 100 рд╡реЗрд│рд╛, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рдЬрд╛рд╡рд╛ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣рдЬрдЪреНрдпрд╛ рдЕтАНреЕрд░реЗрдордзреНрдпреЗ рдпрд╛рджреНрдпрд╛, рдЯреНрдпреВрдкрд▓реНрд╕ рдЖрдгрд┐ рдмрдлрд░рдЪреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкреНрд░рд╡реЗрдЧрдХ рд╣реЛрддреЗ. рд░реВрдкрд╛рдВрддрд░рдг рдЕрдиреБрдХреНрд░рдо API рдРрд╡рдЬреА, рдЗрди-рдореЗрдорд░реА рдмрдлрд░рдЪреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рдкрд░рддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдкрд╛рдпрдерди рдмрдлрд░рдЪрд╛ рд╕рд╛рдордирд╛ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ рдлрдХреНрдд рдкрд╣рд┐рд▓рд╛ рдШрдЯрдХ рд░реВрдкрд╛рдВрддрд░рдгрд╛рд╕рд╛рдареА рддрдкрд╛рд╕рд▓рд╛ рдЬрд╛рддреЛ, рдХрд╛рд░рдг рд╣реЗ рдмрдлрд░ рдПрдХрд╕рдВрдз рдЕрд╕рддрд╛рдд.
  • рд╢рдЯрдбрд╛рдЙрди рдСрдкрд░реЗрд╢рдиреНрд╕рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ (JPype 1.0.0 рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рдкрд░рдВрддреБ рдЪреЗрдВрдЬрд▓реЙрдЧ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рд╡рдЧрд│рдгреНрдпрд╛рдд рдЖрд▓реЗ). JPype рдЖрддрд╛ JVM рд╢рдЯрдбрд╛рдЙрди рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЙрд▓ рдХрд░рддреЗ, рдЬреЗ рдЖрдХрд░реНрд╖рдХрдкрдгреЗ рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. рдпрд╛рдореБрд│реЗ рд╡рд╛рдЧрдгреНрдпрд╛рдд рдЕрдиреЗрдХ рдмрджрд▓ рд╣реЛрддрд╛рдд. рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдирд╕рд▓реЗрд▓реЗ рдереНрд░реЗрдб (рдкреНрд░реЙрдХреНрд╕реА рдХреЙрд▓) рдЖрддрд╛ JVM рдкреВрд░реНрдг рд╣реЛрдИрдкрд░реНрдпрдВрдд рддреЗ рдЙрдШрдбреЗ рдареЗрд╡реВ рд╢рдХрддрд╛рдд. рдХреЙрд▓ рдкреВрд░реНрдг рд╣реЛрдИрдкрд░реНрдпрдВрдд рдкреНрд░реЙрдХреНрд╕реА рдХреЙрд▓ рд╢рдЯрдбрд╛рдЙрдирдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреАрд▓, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдирд╛ рдирд┐рд░рд╕реНрдд рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓. рдЬрд░ рдереНрд░реЗрдбреНрд╕ рдЕрдкреЗрдХреНрд╖реЗрдкреНрд░рдорд╛рдгреЗ рдЕрдкрд╡рд╛рдж рд╣рд╛рддрд╛рд│рдд рдЕрд╕рддреАрд▓ рддрд░ рдлрд╛рдЗрд▓реНрд╕ рдЖрддрд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдмрдВрдж рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдбрд┐рд╕реНрдХрд╡рд░ рдлреНрд▓рд╢ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рд░рд┐рд╕реЛрд░реНрд╕ рдХреНрд▓реАрдирдЕрдк рд╣реБрдХ рдЖрдгрд┐ рдлрд╛рдпрдирд▓рд╛рдЗрдЬрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдЬреЗрд╡реНрд╣рд╛ рдереНрд░реЗрдбреНрд╕ рддрдпрд╛рд░ рд╣реЛрддрд╛рдд, рддреЗрд╡реНрд╣рд╛ AtExit рд╣реБрдХ рдореНрд╣рдгрддрд╛рдд. рдкрд╛рдпрдердирдордзреАрд▓ JVM рд╡рд╛рдкрд░рддрд╛рдирд╛ рдбрд┐рдордирджреНрд╡рд╛рд░реЗ, рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдереНрд░реЗрдб рд╕рдВрд▓рдЧреНрдирдХ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдмрдЧреНрдЧреА рдХреЛрдб рдЬреЛ рдереНрд░реЗрдб рдХреНрд▓реАрдирдЕрдк рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╣рд╛рддрд╛рд│реВ рд╢рдХрдд рдирд╛рд╣реА рддреЛ рд╢рдЯрдбрд╛рдЙрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рд╣рдБрдЧ рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ. рдЕрддрд┐рд░рд┐рдХреНрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдореЕрдиреНрдпреБрдЕрд▓ рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддреЗ.
  • рдереНрд░реЛрдПрдмрд▓рд╕рд╛рдареА рд░реЕрдкрд░рд▓рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдорд╛рдРрд╡рдЬреА рдСрдмреНрдЬреЗрдХреНрдЯрд╕рд╛рдареА рд░реЕрдкрд░ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдкрд╛рдпрдерди рд╡рд░реНрдЧрд╛рдВрдХрдбреВрди рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдкрд╛рдВрддрд░рдгреЗ рдЭрд╛рд▓реА.
  • рдЖрдпрд╛рдд рдкреНрд░рдгрд╛рд▓реАрдордзреАрд▓ рдирд┐рд╢реНрдЪрд┐рдд рдЯрд╛рдпрдкреЛрдЬ рдЬреНрдпрд╛рдореБрд│реЗ '"jname" рдЖрдврд│рд▓реЗ рдирд╛рд╣реА' рддреНрд░реБрдЯреА рдЖрд▓реА.
  • рдХреАрдмреЛрд░реНрдбрдЗрдВрдЯрд░рдкреНрдЯрдордзреНтАНрдпреЗ "^C" рдЪреА рдЬрд╛рд╣рд┐рд░рд╛рдд рдпреЛрдЧреНрдп рдкреНрд░рдХрд╛рд░реЗ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реА.
  • Python 3.5.3 рдкрд╛рд╕реВрди рдЪрд┐рдиреНрд╣рд╛рдВрд╕рд╣ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд. PySlice_Unpack рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рдкреЕрдЪ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ (3.5.4) рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рддреЗ рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ рдирд╕рд╛рд╡реЗ.
  • numpy.linalg.inv рд╕рд╣ рдПрдХ рдмрдЧ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓рд╛ рдЬреНрдпрд╛рдореБрд│реЗ рдХреНрд░реЕрд╢ рдЭрд╛рд▓рд╛. JVM рдЖрдгрд┐ рдХрд╛рд╣реА numpy рдлреНрд▓реЗрд╡рд░реНрд╕рдордзреАрд▓ рдереНрд░реЗрдб рдХрдореНрдпреБрдирд┐рдХреЗрд╢рдирдордзреНрдпреЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдкрдбрд▓реА рдЖрд╣реЗ. JVM рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА numpy.linalg.inv рд╡рд░ рдХреЙрд▓ рдХрд░рдгреЗ рд╣рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрд╛рдп рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛