рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд gif рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд╕рд╛рдорд╛рдиреНрдп рдЕрдЬрдЧрд░ рдореЗрдВ рдЕрдЬрдЧрд░ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдЬрдЧрд░ рд░реЙрдХреЗрдЯ рдЖрдЗрдХрди рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдЫрд▓рддрд╛ рдирд╣реАрдВ рд╣реИред IPython рдХреЗ рдЕрдВрджрд░ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдЖрдЗрдХрди рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдЭрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ Homebrew рд╕реЗ рдкрд╛рдпрдерди рдХреЗ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЖрдк рдХрд┐рд╕ рдмреИрдХреЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ plt.ion()
рдпрд╛ %matplotlib
рдЪрд▓рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ?
рдореЗрд░рд╛ рдШреБрдЯрдиреЗ рдореЗрдВ рдЭрдЯрдХрд╛ / рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ: рдЬрдм IPython рд░реАрдбрд▓рд╛рдЗрди рд╕реЗ рдбреА-рдХрдкрд▓ рд╣реЛ рдЧрдпрд╛, рддреЛ рдпрд╣ PyOS_InputHook
рдорд╢реАрдирд░реА рд╕реЗ рднреА рдбрд┐рдХреЙрдЙрдВрдб рд╣реЛ рдЧрдпрд╛ред рд╕рд╛рджреЗ рдЕрдЬрдЧрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, GUI рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдЙрдЫрд▓-рдХреВрдж рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ), GUI рдХреЛрдб рд╣реБрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреБрдЫ рдлреЛрди рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдХреИрд╕реЗ рд░реЙрдХреЗрдЯ рдХреЛ рдЙрдЫрд▓рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдШрд░ рдЬрд╛рдиреЗ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдореЗрди рд▓реВрдк рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдХреЛрд▓реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЙрддреНрддрд░ред IPython рдореЗрдВ, рд╡рд╣ рд╣реБрдХ рдЕрднреА рднреА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХреНрдпреЛрдВрдХрд┐ IPython рд╢реАрдШреНрд░ рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк IPython рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ GUI рдШрд░ рдкрд░ рдлреЛрди рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рдЙрдВрд╕рд┐рдВрдЧ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред
рдпрд╛ рдореИрдВ рдмреЗрддрд╣рд╛рд╢рд╛ рдмреЗрд╕ рдСрдл рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред
рдпрд╣ MacOSX
рдмреИрдХреЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред plt.ion()
рдпрд╛ %matplotlib
рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж pyplot
рдЖрдпрд╛рдд рдмрд╛рдЙрдВрд╕ рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ %matplotlib
рд╕реЗ рдкрд╣рд▓реЗ pyplot рдЖрдпрд╛рдд рдмрд╕ рдЖрдЗрдХрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ tk рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ?
рдирд╣реАрдВ, TkAgg
рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреЛрдИ рд░реЙрдХреЗрдЯ рдЖрдЗрдХрди рдирд╣реАрдВред
рдореИрдВ # 9312 рд╕реЗ рдЬреБрдбрд╝рд╛ рд░рд╣рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ
рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдкрд┐рдВрдЧ @minrkред
рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐
if not window_count:
return
рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╡реЗрдВрдЯреНрд▓реЛрдк рдПрдХреАрдХрд░рдг рдХреЛ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рднреА рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдХрд┐ inputhook(context)
рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓реВрдк рди рднреА рдХрд░реЗрдВ, рднрд▓реЗ рд╣реА рдХреЛрдИ рднреА рдЦрд┐рдбрд╝рдХреА рди рд╣реЛ ..
global at_least_once
if not window_count and not at_least_once:
at_least_once = True
return
@ngoldbaum рдХреНрдпрд╛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЕрдкрдиреА рдкрд╣рд▓реА рдЦрд┐рдбрд╝рдХреА рд╣реИ рдЙрдЫрд▓ рдмрдВрдж рдХрд░реЛ?
рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореБрдЭреЗ рднреА рдЦреБрд╢ рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рднрдпрд╛рд╡рд╣ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рджреЛрд╖реА рдорд╣рд╕реВрд╕ рдХрд░рд╛рддреА рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд┐ рд╣рдЯрд╛рдирд╛
if not window_count:
return
рдмреНрд▓реЙрдХ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╣ рдерд╛, рдкреНрд▓реЙрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрд╛рдЙрдВрд╕рд┐рдВрдЧ рд░реБрдХ рдЬрд╛рддреА рд╣реИред
# 10150 рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рд▓реЛрдЧреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ред
рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 10 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдЬрдореА рдирд╣реАрдВ рдереА рд▓реЗрдХрд┐рди рдЬреЛ рд╕реВрдЪрдХ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдЖрдкрдХреЗ .gif рдореЗрдВ рд╕реВрдЪрдХ рдерд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 10 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдЬрдореА рдирд╣реАрдВ рдереА рд▓реЗрдХрд┐рди рдЬреЛ рд╕реВрдЪрдХ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдЖрдкрдХреЗ .gif рдореЗрдВ рд╕реВрдЪрдХ рдерд╛ред