Pythonturtle: рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдкреИрдХреЗрдЬ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдПрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рд╕рд┐рддре░ 2018  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PythonTurtle/PythonTurtle

рдореБрджреНрджреЛрдВ рдкрд░ рдЕрдиреБрд╡рд░реНрддреА https://github.com/cool-RR/PythonTurtle/pull/105#issuecomment -421965482, #106 рдФрд░ #90, рдореИрдВ рд╕рднреА рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреИрд╕реЗ (рд╕рд░реНрд╡реЛрддреНрддрдо) рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ PythonTurtle рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП

  1. рд▓рдХреНрд╖реНрдп рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдордПрд╕рдЖрдИ, рдореИрдХреЛрдЬрд╝ рдРрдк рдЗрдореЗрдЬ, рдбреЗрдмрд┐рдпрди рдбреАрдИрдмреА, рдЖрд░рдкреАрдПрдо, рд╕реНрдиреИрдк), рдФрд░
  2. рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдареЛрд╕, рд╡рд┐рд╕реНрддреГрдд рдЪрд░рдгреЛрдВ ( рдкрдврд╝реЗрдВ: рд╢реЗрд▓ рдХрдорд╛рдВрдб) рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА ред

рдиреЛрдЯ: рдпрджрд┐ рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП EXE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ macOS рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓реЛрдВ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реА рдмрдбрд╝реА рдмрд╛рдд Linux рдХреЗ рд▓рд┐рдП AppImage рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореИрдХ рдкрд░ .dmg рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рд╣реИред рдпрд╣ рд╕рднреА рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛! :рдЯрд╛рдбрд╛: :рд╕реНрдорд╛рдЗрд▓реА:

AppImage рдореЗрдВ (рдХреБрдЫ рд╣рдж рддрдХ) рдПрдХ AppStore рднреА рд╣реИ, рдЬрд┐рд╕реЗ AppImageHub рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдФрд░ рддреБрд▓рдирд╛ рдЖрдкрдХреЛ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред :+1:

рд╕рднреА 31 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рдореИрдХреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП py2exe рдФрд░ py2app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВред

PyCon Otto рдХреА рдПрдХ PyInstaller рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХрдУрдПрд╕ рдФрд░ рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ py2exe рдФрд░ py2app рдХреЗ рдмрдЬрд╛рдп PyInstaller рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдореЗрдВ PythonTurtle Python рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрд╛рд░реА рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ PyPI рдкрд░ рдзрдХреЗрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рдЧрд┐рдЯ рдЯреИрдЧ (рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде) рдХреЛ рджрдмрд╛рдХрд░ рд░рд┐рд▓реАрдЬ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рднреА рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд░рд┐рд▓реАрдЬ рдкреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рд╕рд╣рдЬ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕ рддрд░рд╣ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди рдПрдХ рдЙрдЪреНрдЪ рд▓рдХреНрд╖реНрдп рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рднреА рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рд░рд┐рд▓реАрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЕрдЧрд░ рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рднреА рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рд░рд┐рд▓реАрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдлрд┐рд░ рдЕрдкрдирд╛ рд╕реНрдкреЗрд╕ рд╕реВрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ! :рдореБрд╕реНрдХреБрд░рд╛рдУ:

рдЬреИрд╕рд╛ рдХрд┐ рд╕рдВрджреЗрд╣ рд╣реИ, PyInstaller рдХреЛ рдЙрд╕ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП

рдореЗрд░реЗ рдкрд╛рд╕ рди рддреЛ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рди рд╣реА рдореИрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ AppVeyor рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдПрдХ macOS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Python 3 рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ (рдФрд░ рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗрд╡рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рд╣рдо Python 3 рдХреЗ рд╕рд╛рде рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рдХрд░реВрдВрдЧрд╛ (рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░ рджреВрдВрдЧрд╛)ред IIUC, рд╡реИрд╕реЗ рднреА, PyInstaller рдХреЗ рд╕рд╛рде (рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА) рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП setup.py рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рд╕реЗ PythonTurtle рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдкреАрдкреАрдкреАрдЖрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ

рдореИрдВрдиреЗ рдЖрдкрдХреЛ PyPI рдкрд░ рдПрдХ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред

PyInstaller рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ ReactOS рд╡рд╛рд▓рд╛ VM рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

pip install PythonTurtle рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдХрдард┐рди рд╕рд╛рдмрд┐рдд рд╣реЛрддреА рд╣реИрдВ:

рдирд┐рд╖реНрдХрд░реНрд╖:

  • рд╣рдо install_requires=['wxPython'] рдХреЛ setup() рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рддрдХ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ ( README рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рд╣рдо - рдмрд╣реБрдд рддрдХрдиреАрдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕рдВрдХреЗрдд рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ README рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЪрд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ PythonTurtle рдХреЛ рдПрдХ рдЕрдиреБрдХреВрд▓ _reminder_ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рджреЗрдВ рдЬрдм wx рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ ( ModuleNotFoundError рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ)ред

platform.release() рдФрд░/рдпрд╛ os.name рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ "рдСрдЯреЛ-рдбрд┐рдЯреЗрдХреНрдЯ рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ" рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдмреЛрдЭрд┐рд▓ рднреА рд╣реЛрдЧрд╛ред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ URL рдХреЗ рд╕рд╛рде README рдХреЗ тАЛтАЛрдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реЗрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд░рд┐рдПрдХреНрдЯреЛрд╕ рд╡рд╛рд▓рд╛ рд╡реАрдПрдо рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдкрд░ рд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлреИрд╢рди рдореЗрдВ рдкрд╛рдпрдерди рдЯрд░реНрдЯрд▓ рдкреИрдХреЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? (рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ?)

рддреБрдо рд╕рд╣реА рд╣реЛ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2 рдкреНрд░рд╢реНрди рд╣реИрдВ:

  1. рдХреНрдпрд╛ рд░рд┐рдПрдХреНрдЯреЛрд╕ PyInstaller рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

  2. рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдкрд╣рд▓реЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рд╣рд╛рдВ рд╣реИ, рдФрд░ рдХреЛрдИ рд╕рд╛рд╕ рдкреНрд░рджрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡рд╣ рд╕реЗрд╡рд╛ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рдХрд╣реЗрдВ рдХрд┐ рд╣рдо рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдХреЛ рдПрдХ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдЕрддрд┐рдерд┐ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рд╕рд╛рд╕ рдкреНрд░рджрд╛рддрд╛ рдорд┐рд▓ рдЬрд╛рдП рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрд╕ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рдЪрд▓рд╛рдП?

https://github.com/pypa/python-packaging-user-guide/issues/267 рдореЗрдВ Python рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд▓рд┐рдВрдХ рд╣реИрдВред

рдЬреИрд╕реЗ рд╣реА рдЧрд┐рдЯрд╣рдм рдкрд░ рд▓рд┐рдирдХреНрд╕ рдмрдВрдбрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ (рдкреАрдЖрд░ #123 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд╣рдо рдореИрдХреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕реАрдЖрдИ рдЯреНрд░реЗрди рдкрд░ рдХреВрдж рдЬрд╛рдПрдВрдЧреЗ, рд╣рд╛рдБ! рдпрдо:

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП EXE рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ macOS рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓реЛрдВ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реА рдмрдбрд╝реА рдмрд╛рдд Linux рдХреЗ рд▓рд┐рдП AppImage рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореИрдХ рдкрд░ .dmg рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рд╣реИред рдпрд╣ рд╕рднреА рдЬреАрдПрдирдпреВ/рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛! :рдЯрд╛рдбрд╛: :рд╕реНрдорд╛рдЗрд▓реА:

AppImage рдореЗрдВ (рдХреБрдЫ рд╣рдж рддрдХ) рдПрдХ AppStore рднреА рд╣реИ, рдЬрд┐рд╕реЗ AppImageHub рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдФрд░ рддреБрд▓рдирд╛ рдЖрдкрдХреЛ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред :+1:

рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ!

рдЕрднреА рддрдХ, macOS (PyInstaller рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдбрд▓ рдмрдирд╛рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рд╣рдо рд╣реЛрдордмреНрд░реВ рдлреЙрд░реНрдореВрд▓рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ:

рд╣рдореНрдо, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлреЙрд░реНрдореВрд▓рд╛ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдореИрдХ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред :рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛:

рдкрд╛рдпрдерди (3) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реВрддреНрд░ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  • рдкрд╛рдпрдерди (3.7 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ; рдкрд╛рдпрдерди @ 3 рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рд╣реИ, рдПрдХ рддрдерд╛рдХрдерд┐рдд "рдЙрдкрдирд╛рдо")
  • wxPython ( рдкрд╛рдпрдерди@2 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, https://github.com/Homebrew/homebrew-core/issues/32744 рднреА рджреЗрдЦреЗрдВ)

рдпрд╣ Python@3 (=3.7) рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдФрд░ pip рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ wxPython рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ( рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╣реИ )ред

рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рд▓реАрдЬрд╝ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рд╢рд╛рдпрдж рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ api_key: рдХреЗрд╡рд▓ рдПрдХ рдирдореВрдирд╛ рдорд╛рди рдкрд░ рд╕реЗрдЯ рд╣реИ), рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ VSCodium рдкреНрд░реЛрдЬреЗрдХреНрдЯ GitHub рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рд▓реАрдЬрд╝ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред :+1:

рд░рд╛рдо, рдЖрдкрдиреЗ "рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░" рдХреЛ рд╡рд░реНрддрдорд╛рди рдХреА рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрддрд╛рдпрд╛ рд╣реИред рдореИ рдЕрд╡рд╢реНрдп рд╣реА рд╕рд╣рдордд рд╣реВрдВред

рдЖрдЗрдП рд╕рдВрдШ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдиреЛрдЯ рдХрд░реЗрдВред

рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ (рдкреНрд░рдЧрддрд┐ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди)

  • рд╡рд┐рдВрдбреЛрдЬрд╝ рдмрд┐рд▓реНрдб рдЕрдХреНрдЯреВрдмрд░ 2018 рд╕реЗ AppVeyor рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  • рд╡реЗ рдмрд┐рд▓реНрдб рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ .EXE рдмрд╛рдЗрдирд░реА рдФрд░ рдПрдХ .MSI рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рддреЗ рд╣реИрдВ ( рдЙрджрд╛рд╣рд░рдг рдЬреЙрдм рджреЗрдЦреЗрдВ)ред
  • .MSI рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд╛рд▓реА рд╣реИред
  • рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рдЖрдкрдиреЗ .EXE (рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдФрд░ рдЪрд▓рд╛рдХрд░) рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ .MSI рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред (рдпрд╛ рдпрд╣ рдХреЛрдИ рдФрд░ рдерд╛ рдЬрд┐рд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛? рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВред)
  • рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рдореИрдВрдиреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдореБрджреНрджреЗ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ (рдпрд╛ рдпрд╣ рд╣рдорд╛рд░реА рдПрдХ рдирд┐рдЬреА рдЪреИрдЯ рдереА?) рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдПрдордПрд╕рдЖрдИ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдПрдордПрд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдпрд╛ рддреЛ)ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЕрдм, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рди рддреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдФрд░ рди рд╣реА рдореИрдВ рдПрдХ (рдореИрдХреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╡реИрд╕реЗ рд╣реА) рдЦрд░реАрджрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЧрд╛рдпрдм рд╣реИ рдЬреЛ рдХреЛрдИ рд╣реИ рдЬреЛ рд▓рд╛рдкрддрд╛ рдкрд╣реЗрд▓реА рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд░рдЦрддрд╛ рд╣реИред рдореЗрд░реА рдЖрдВрдд рдХреА рднрд╛рд╡рдирд╛ рд╕реЗ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдХрд╛рд░реНрдп рдкреВрд░реНрдг" рдХреЗ рдХрд░реАрдм рд╣реИрдВред

рдЕрдЧрд▓реЗ рдЪрд░рдг (рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛)

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ Microsoft Visual Studio рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛ рд╣реИ, StackOverflow рдкрд░ рдПрдХ рдЙрддреНрддрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред

рдЗрд╕рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдкрджрднрд╛рд░ рдЧреНрд░рд╣рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЖрдИрдЖрдИрдпреВрд╕реА, рд╣реИ:

  1. рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
  2. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЖрдкрдХреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирддрд╛ рд╣реИ
  3. рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .vdproj рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ

AppVeyor рддрдм рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдмрд┐рд▓реНрдб рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯреНрд╕ рдкреЗрдЬ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рд╕рдВрджрд░реНрдн

рдореЗрд░реА рдЖрдВрдд рдХреА рднрд╛рд╡рдирд╛ рд╕реЗ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдХрд╛рд░реНрдп рдкреВрд░реНрдг" рдХреЗ рдХрд░реАрдм рд╣реИрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рддреЛ рдпрд╣ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рд╣реЛрдЧрд╛ред рдореИрдВ рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдпрд╛ рд╣рдорд╛рд░реА рд╡рд░реНрддрдорд╛рди рдпреЛрдЬрдирд╛ рдХреНрдпрд╛ рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реЛрддрд╛, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХрд╛ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдХрд╛рдо рд╣реЛрдЧрд╛ред

рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реЗрдЪреНрдЫрд╛ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред PythonTurtle рдЕрднреА рдореЗрд░реЗ рдЬреАрд╡рди рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ред

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдХреЗ рдкрд░реЗрд╢рд╛рди рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ, рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рднреА рдореВрд▓реНрдпрд╡рд╛рди рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХреВрдВрдЧрд╛, рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдореБрдЭреЗ рд╡реНрдпрд░реНрде рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдпрд╛ рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЗрд╕ рдкрд░ рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, "рдореЗрд░реЗ рдкрд╛рд╕ рди рддреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдФрд░ рди рд╣реА рдореЗрд░реА рдПрдХ рдЦрд╝рд░реАрджрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ"ред рдпрджрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪреАрдмрджреНрдз рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдЖрдкрддреНрддрд┐ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдпрд╛ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕рдордп рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдЖрдкрддреНрддрд┐ рд╣реИред

рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкрд░ рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдпрд╣ рд╣рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рдЪрд╛рд░ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрджрд┐ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рд▓рд╛рдЗрд╕реЗрдВрд╕/рдорд╢реАрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреВрдВред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реИред

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИ? рд╡рд┐рдВрдбреЛрдЬ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрдиреНрджрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рдореИрдВ "рдкрд╛рдпрдерди + рд╡рд┐рдВрдбреЛрдЬ" рдХреА рдЭреВрдареА рдЫрд╡рд┐ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛, рдмрд╕ рдПрдХ рд╕рд╛рде рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реВрдВред

рдПрдордПрд╕рдЖрдИ рдЗрдВрд╕реНрдЯреЙрд▓рд░ ( рд╡рд╛рдИрдПрдХреНрд╕ , https://github.com/PythonTurtle/PythonTurtle/issues/108#issuecomment -683420022 рджреЗрдЦреЗрдВред рд╣рдо рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕рдлрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?

рдореИрдВ рдирд╣реАрдВ рдХрд░рддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдХреЗ рдЖрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред

рдПрдХ рдХрд╛рд░реНрдп рд╕реВрдЪреА...

  • [ ] __рд▓рд┐рдирдХреНрд╕__: рдкрд╛рдЗрдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рд░реНрдорд╛рдг рд╕рдлрд▓

    • [] рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд

  • [ ] __macOS__: рдкрд╛рдЗрдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрд┐рд▓реНрдб рд╕рдХреНрд╕реЗрд╕рдлреБрд▓

    • [] рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд

  • [ ] __Windows__: pyinstaller рдмрд┐рд▓реНрдб рд╕рдлрд▓

    • [] рдЧрд┐рдЯрд╣рдм рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд

рдкреНрд░рдЧрддрд┐ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрдХреЗрдд:

  • [x] python3 setup.py clean bundle рдЖрдк рд╕рднреА рдмрд╛рдЗрдирд░реА рдмрдВрдбрд▓ рдмрдирд╛ рд╕рдХрддреЗ
  • [x] рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП .exe рд╕рд╣рд┐рдд) рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рд╣реИред
  • [ ] рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ ; рдпрд╣ рдПрдХ MSI рдпрд╛ WiX.Py рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рджреЛрдиреЛрдВ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ)ред
  • [ ] рдЬрдм рднреА рд╣рдо рдХрд┐рд╕реА Git рдЯреИрдЧ рдХреЛ master рдзрдХреЗрд▓рддреЗ рд╣реИрдВ, рддреЛ GitHub Actions рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдзрдХреЗрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП; рд╣рдо рдЕрдкрдиреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрдо рд╢реНрд░рдорд╕рд╛рдзреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рд┐рдпрд╛рдУрдВ/рдирд┐рд░реНрдорд╛рдг-рд░рд┐рд▓реАрдЬрд╝ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдорджрдж рдХреЗ рд▓рд┐рдП Microsoft рдбреЗрд╡рд▓рдкрд░ рд╕рдореБрджрд╛рдп @judej рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ рдЬреЛ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛! :рд╣рд░реНрд╖:

рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛: рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдПрдордПрд╕рдЖрдИ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рдПрдХ рдЬреЛ рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдЬреЛ рдПрдХ рдкрд╛рдпрдерди рдЬрд╝рд┐рдк рдРрдк рдмрдирд╛рддрд╛ рд╣реИ:

  1. pynsist - _a рдЖрдкрдХреЗ рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЙрдкрдХрд░рдгред [...] рдкрд╛рдпрдерди рдХреЛ рд╣реА рдмрдВрдбрд▓ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ_
  2. рд╢рд┐рд╡ - _рдкреАрдИрдкреА 441 рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдкрд╛рдпрдерди рдЬрд╝рд┐рдкреИрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде!_

рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд╛рдпрдХ рдпрд╣ рджреЛ рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж рдЬреВрдб! :100: :рдкрджрдХ_рд╕реИрдиреНрдп:

рдардВрдбрд╛ред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ PyOxidizer рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реБрдирд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ ( рдЪрд░реНрдЪрд╛ ) рдХреЛ рд╕рдордЭ рдЧрдпрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореИрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ shiv рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдХреГрдкрдпрд╛ PyOxidizer рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╣рдо рдиреЛрдЯреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдПрдХ рдирдпрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдЧрд╛ :(

PyOxidizer рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдпреЛрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ: "рд░рд╕реНрдЯ рд╡реАрдПрдо" рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкрд╛рдпрдерди рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдУрдПрд╕-рджреЗрд╢реА рдкрд░рддред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ PyInstaller рд╕реЗрдЯрдЕрдк рдЬреЛ рд╣рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ рд╡рд╣ рд╕рдм рдареАрдХ рдирд╣реАрдВ рд╣реИ? :3rd_place_medal:

shiv рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ (рд░рд┐рд▓реАрдЬ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╣рдорд╛рд░реЗ "рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ" рдореЗрдВ рдирдпрд╛), рдЬреЛ рд╣рдорд╛рд░реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд░реЛрдорд╛рдВрдЪрдХрд╛рд░реА рд▓рдЧрддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред :рджреВрд╕рд░рд╛_рд╕реНрдерд╛рди_рдкрджрдХ:

pynsist рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдвреВрдВрдв рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд┐рдВрдбреЛрдЬрд╝ рд▓реЛрдЧ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ: рдПрдХ: рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рджреЛ: рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдореЗрдиреВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдПрдВ, рддреАрди: рдкреНрд░рд╛рд░рдВрдн рдореЗрдиреВ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред :1st_place_medal:

рдкрд┐рдирд┐рд╕реНрдЯ рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реИред рдореИрдВ рдореИрдХ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╢рд┐рд╡ (рд▓рд┐рдВрдХреНрдбрдЗрди рд╕реЗ) рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

cool-RR picture cool-RR  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chuma picture chuma  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ispmarin picture ispmarin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mitsuhiko picture mitsuhiko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ