рдЖрдпрд░рдирдкрд╛рдЗрдерди рдкрд░ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдХреНрд╕рдИ рдмрдирд╛рдирд╛

рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдПрдХреНрд╕-рд╢рдирд┐рдХ рдФрд░ рд╡рд╣ рд╕рдм, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рди рд▓рдЧреЗ (рдХреБрдЫ рдЖрд╕рд╛рди рднрд╛рд╖рд╛)ред
CPython рдХреЛ py2exe рдпрд╛ cx_Freeze рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ: рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдПрдХ рдмрдбрд╝реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЖрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд pyc рд╕рдВрдХрд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ IronPython рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЖрдИрдбреАрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдХрдЯ рдХреЗ рддрд╣рдд рд╡рд┐рд╡рд░рдгред

рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛


рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдпрд░рдирдкрд┐рдереЙрди рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдзреНрдпрд╛рди рджреЗрдВ: рд░рд┐рд╕реЗрдкреНрд╢рди 2.7.2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдЪреНрдЪрддрд░, рдЬреНрдпреВрд░рд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж) ред рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рдореНрди рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ:
import clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import Application, Form class HabrForm(Form): def __init__(self): self.Text = 'Habr!' self.Name = 'Habr!' form = HabrForm() Application.Run(form) 

рдЗрд╕реЗ рдорд┐рдиреАрдХреНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рдХрдВрд╕реЛрд▓ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВ:
 ipy.exe C:\IronPython\Tools\Scripts\pyc.py /target:winexe /main:mini.py /standalone 
рдпрджрд┐ рдЖрдк exe рдореЗрдВ рд▓рдХреНрд╖реНрдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЬреЛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЖрдк рдПрдХ dll рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдВрдкрд╛рдЗрд▓рд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛:
 Input Files: Output: mini Target: WindowApplication Platform: ILOnly Machine: I386 Threading: STA Compiling... Generating stand alone executable Embedding Microsoft.Dynamic 1.1.0.20 Embedding Microsoft.Scripting 1.1.0.20 Embedding IronPython 2.7.0.40 Embedding IronPython.Modules 2.7.0.40 Embedding IronPython.SQLite 2.7.0.40 Embedding IronPython.Wpf 2.7.0.40 Saved to mini 

Exe-Schnick рддреИрдпрд╛рд░ рд╣реИ! рдмрд╕ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЗрд╕ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдХреЛрдИ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИред рдФрд░ рд╡рд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЖрдк рдлрд╛рд╕реНрдЯ .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдХреЗрд╡рд▓ clr рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╕рдВрдкреВрд░реНрдг рд▓реАрдм рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдПрдХ dll рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ AddReference рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдПрдХ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИ , рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ!

рдореИрдВ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ IronPython рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд sys рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдФрд░ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдЬрд╝рд┐рдк рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рд╕рдорд╛рдзрд╛рди рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛: Lib рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА (IronPython рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ) рдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ exe рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦреЗрдВ, рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝рддреЗ рд╣реБрдП:
 import sys sys.path.append(r'.\Lib.zip') 

рдЕрдм рдЖрдк рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдЬреИрд╕реЗ рдХрд┐ json рдпрд╛ urllib рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм, рджреЗрдЦреЛ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ:

Source: https://habr.com/ru/post/In149621/


All Articles