Numpy: рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди_рдПрд░реЗ_рдлрдВрдХреНрд╢рди рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдЕрдЧре░ 2019  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: numpy/numpy

рдкреБрдирд░реБрддреНрдкрд╛рджрди рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:

from flask import Flask

import numpy

app = Flask(__name__)

рдПрдХ uwsgi рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВред

рдкреВрд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг: https://github.com/luckydonald-archive/numpy-issues-14384/

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢:

|> test_bot_1                 | [uWSGI] getting INI configuration from /config/uwsgi.ini
|> test_bot_1                 | *** Starting uWSGI 2.0.18 (64bit) on [Wed Aug 28 00:25:33 2019] ***
|> test_bot_1                 | compiled with version: 6.3.0 20170516 on 04 May 2019 16:28:22
|> test_bot_1                 | os: Linux-4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017
|> test_bot_1                 | nodename: 2dd932a7998b
|> test_bot_1                 | machine: x86_64
|> test_bot_1                 | clock source: unix
|> test_bot_1                 | pcre jit disabled
|> test_bot_1                 | detected number of CPU cores: 8
|> test_bot_1                 | current working directory: /app
|> test_bot_1                 | detected binary path: /usr/local/bin/uwsgi
|> test_bot_1                 | your processes number limit is 1048576
|> test_bot_1                 | your memory page size is 4096 bytes
|> test_bot_1                 | detected max file descriptor number: 1048576
|> test_bot_1                 | lock engine: pthread robust mutexes
|> test_bot_1                 | thunder lock: disabled (you can enable it with --thunder-lock)
|> test_bot_1                 | uwsgi socket 0 bound to UNIX address /sockets/bots/test_bot.sock fd 3
|> test_bot_1                 | Python version: 3.6.8 (default, Mar 27 2019, 08:49:59)  [GCC 6.3.0 20170516]
|> test_bot_1                 | *** Python threads support is disabled. You can enable it with --enable-threads ***
|> test_bot_1                 | Python main interpreter initialized at 0x55b90bbdc100
|> test_bot_1                 | your server socket listen backlog is limited to 100 connections
|> test_bot_1                 | your mercy for graceful operations on workers is 60 seconds
|> test_bot_1                 | mapped 1239640 bytes (1210 KB) for 16 cores
|> test_bot_1                 | *** Operational MODE: preforking ***
|> test_bot_1                 | WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x55b90bbdc100 pid: 1 (default app)
|> test_bot_1                 | mounting main.py on /test_bot
|> test_bot_1                 | Traceback (most recent call last):
|> test_bot_1                 |   File "main.py", line 3, in <module>
|> test_bot_1                 |     import numpy
|> test_bot_1                 |   File "/usr/local/lib/python3.6/site-packages/numpy/__init__.py", line 142, in <module>
|> test_bot_1                 |     from . import core
|> test_bot_1                 |   File "/usr/local/lib/python3.6/site-packages/numpy/core/__init__.py", line 17, in <module>
|> test_bot_1                 |     from . import multiarray
|> test_bot_1                 |   File "/usr/local/lib/python3.6/site-packages/numpy/core/multiarray.py", line 14, in <module>
|> test_bot_1                 |     from . import overrides
|> test_bot_1                 |   File "/usr/local/lib/python3.6/site-packages/numpy/core/overrides.py", line 47, in <module>
|> test_bot_1                 |     """)
|> test_bot_1                 | RuntimeError: implement_array_function method already has a docstring

Numpy/рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА:

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд numpy , 2019-08-28ред

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

numpy рдХреЛ numpy==1.15.4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЯреНрд░рд┐рдХ рд╣реИред

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

рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ uwsgi рднреАрддрд░ рдЪрд▓рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдпрд╣ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдШрдВрдЯреА рдмрдЬрддреА рд╣реИред IIRC uwsgi рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЗрд░рдлреЗрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ -OO рд╕рд╛рде рдЪрд▓рдирд╛ред

рдпрд╣ рд╕реНрдкрд╛рдЗрдбрд░ рдореЗрдВ рднреА рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдкрд╛рдпрдерди рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП IPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбреНрдпреВрд▓ рд░реАрд▓реЛрдбрд░" рдирд╛рдордХ рдПрдХ рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ "рдкрд╛рдпрдерди рдХреЛ рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреА рд╣реИ рдЬреЛ рдПрдХ рдкрд╛рдпрдерди рдпрд╛ рдЖрдИрдкреАрдерди рдХрдВрд╕реЛрд▓ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рдереЗ"ред рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ del sys.modules[modname] ред

рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдЬреЛ numpy рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдПрдХ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ

[...]
np . рдХреЗ рд░реВрдк рдореЗрдВ numpy рдЖрдпрд╛рдд рдХрд░реЗрдВ

рдлрд╝рд╛рдЗрд▓ "C:\Program Files\Python35\lib\site-packagesnumpy\__init__.py", рдкрдВрдХреНрддрд┐ 142, рдореЗрдВ
рд╕реЗ ред рдЖрдпрд╛рдд рдХреЛрд░

рдлрд╝рд╛рдЗрд▓ "C:\Program Files\Python35\lib\site-packagesnumpy\core\__init__.py", рдкрдВрдХреНрддрд┐ 17, рдореЗрдВ
рд╕реЗ ред рдорд▓реНрдЯреАрдПрд░реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ

рдлрд╝рд╛рдЗрд▓ "C:\Program Files\Python35\lib\site-packagesnumpy\core\multiarray.py", рдкрдВрдХреНрддрд┐ 14, рдореЗрдВ
рд╕реЗ ред рдЖрдпрд╛рдд рдУрд╡рд░рд░рд╛рдЗрдб

рдлрд╝рд╛рдЗрд▓ "C:\Program Files\Python35\lib\site-packagesnumpy\core\overrides.py", рд▓рд╛рдЗрди 47, рдореЗрдВ
""")

рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди_рдПрд░реЗ_рдлрдВрдХреНрд╢рди рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ

рдореЗрд░реЗ рд╕рд╛рде рднреА рд╣реЛрддрд╛ рд╣реИ (Django рд╕рд░реНрд╡рд░):

  File "/opt/project/consensx/graph/values_graph.py", line 2, in <module>
    import matplotlib.pyplot as plt
  File "/pyroot/lib/python3.7/site-packages/matplotlib/__init__.py", line 138, in <module>
    from . import cbook, rcsetup
  File "/pyroot/lib/python3.7/site-packages/matplotlib/cbook/__init__.py", line 31, in <module>
    import numpy as np
  File "/pyroot/lib/python3.7/site-packages/numpy/__init__.py", line 142, in <module>
    from . import core
  File "/pyroot/lib/python3.7/site-packages/numpy/core/__init__.py", line 17, in <module>
    from . import multiarray
  File "/pyroot/lib/python3.7/site-packages/numpy/core/multiarray.py", line 14, in <module>
    from . import overrides
  File "/pyroot/lib/python3.7/site-packages/numpy/core/overrides.py", line 47, in <module>
    """)
RuntimeError: implement_array_function method already has a docstring

рдкрд╛рдпрдерди 7.3.7
рд╕реБрдиреНрди: 1.17.2

рдпрд╣рд╛рдВ рдЕрд╕рд▓реА рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ NumPy рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ 2012 рд╕реЗ gh-665 рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╕рднреА рд╡реИрд╢реНрд╡рд┐рдХ рд░рд╛рдЬреНрдп рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдХреИрдкреНрдЪрд░ рдХрд░рдирд╛ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЧреЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдУрд╣, рдЧреНрд▓реЛрдмрд▓реНрд╕ред рд╡реЗ рд╣рдореЗрд╢рд╛ рдордЬреЗрджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред

numpy рдХреЛ numpy==1.15.4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЯреНрд░рд┐рдХ рд╣реИред

numpy рдХреЛ numpy==1.15.4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЯреНрд░рд┐рдХ рд╣реИред

рд╕реБрдиреНрди рдХрд╛ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг (1.15.4) рдкрд╛рдВрдбрд╛ рдХреЗ рдбрд╛рдпрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдВрдбрд╛ рдХреЗ рд╕рд╛рде 1.0.3 =
ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject

рдЕрдиреНрдп рдкреНрд░рд╢реНрди, рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛?

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдЕрдиреНрдп рдкреНрд░рд╢реНрди, рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛?

рдпрджрд┐ "рдЗрд╕ рдмрдЧ" рд╕реЗ рдЖрдкрдХрд╛ рдорддрд▓рдм numpy рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣реИ "рдпрд╣ рд╣рдорд╛рд░реЗ рд░реЛрдбрдореИрдк рдкрд░ рдирд╣реАрдВ рд╣реИ"ред рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдЙрдкрдХреНрд░рдо рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЖрдпрд╛рдд рдЪреЗрддрд╛рд╡рдиреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк uwsgi рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ...

рдЕрдЧрд░ рдпрд╣ рдЙрд╡рд╕реНрдЧреА рдХреА рд╡рдЬрд╣ рд╕реЗ рд╣реИ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдЬрд╡рд╛рдм рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕рдордп рд╕рднреА рдкрд╛рдпрдерди рднреА рдЗрд╕рдХрд╛ рдЙрдЪрд┐рдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕ рдкрд░ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдЖрд╢рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рджрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред рдЬрд╝рд░реВрд░, рдЖрдк рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдФрд░ рдкреИрд╕рд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдиреА рдЖрд╢рд╛ рдХреЛ рдЬрдЧрд╛рдПрдВ рдирд╣реАрдВред

рдкрд╛рдпрдерди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдирдХреА рдмрд╛рдд рдПрдХ рд╕рд╛рде рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж (рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдФрд░ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЗрд╕ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдЬреНрдЮрд╛рди рдХреЗ рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реИ рдЬреЛ wsgi рдХрд░рддрд╛ рд╣реИ (рдЙрдк-рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ), рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢рд╛рдпрдж рдХреБрдЫ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреИрд╢ рд╣реИрдВ рдЬреЛ рд╣рдо рд╢рд╛рдпрдж рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рдЬреНрдЮрд╛рди рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдЕрднреА рддрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рддреЗрдЬреА рд╕реЗ .

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

рд╣рд╛рдВ, рдХрдИ рдкрд╛рдпрдерди рдХреЛрд░ рджреЗрд╡ рдЦреБрд╢реА-рдЦреБрд╢реА рдЪреАрдЬреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди NumPy рдЬреИрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ, рд╕рдм-рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░реНрд╕ (wsgi рдбрд┐рдлреЙрд▓реНрдЯреНрд╕) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ Python 2 рд╕реЗ Python 3 рдХреЗ рдПрдХ рдЕрдВрд╢ рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд░рдордг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдареАрдХ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХ рднреА рдирд╣реАрдВ!

рддреЛ, рдЗрд╕ рд╢реЗрдЦрд╝реА рдХреЗ рдмрд╛рдж... рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛, рдЕрдЧрд░ рдХреЛрдИ NumPy рдХреЗ рдХрд╛рдо рдХреЛ (рдЙрдк-рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░) рдмрдирд╛рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдиреЗрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИред рдФрд░ рдореИрдВ рдЧрд▓рдд рд╕рд╛рдмрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдЦреБрд╢ рд╣реВрдВ... рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреЗ рд╕рд╛рде рдЦрдбрд╝рд╛ рд╣реВрдВ рдХрд┐ рдЙрдк-рджреБрднрд╛рд╖рд┐рдпреЛрдВ (рдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ) рдХреЛ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рдЙрдк-рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреБрдЫ рдлреНрд░рд┐рдВрдЬ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЬреИрд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреАрдкреАрдкреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред рдФрд░ PyPy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЛ PyPy рдХреЗ рднреАрддрд░ NumPy рдЪрд▓рд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдореЗрдВ рд╡рд░реНрд╖реЛрдВ рд▓рдЧ рдЧрдП (рдФрд░ PyPy рдиреЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рднреА рдХрд╛рдо рдХрд┐рдП) ...

рдПрд╣, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдо рд╕рдмрдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░реНрд╕ (рдлрд┐рд░ рднреА) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдореБрджреНрджрд╛ рд╣реИ - рдпрд╣ 1.15.4 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ Django, рд╕реНрдкрд╛рдЗрдбрд░, рдЖрджрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ uwsgi рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдореИрдВ __array_function__ рдореЗрдВ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рд╕рдЪ рдЙрдирдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд╡рд╣рд╛рдВ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ ... рдпрд╣ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдлреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдпрд╣ рдЙрдореНрдореАрдж рд╕реЗ рдХреЗрд╡рд▓ рд╕реНрдореГрддрд┐ рдХреЛ рд▓реАрдХ рдХрд░рддрд╛ рд╣реИред (рдореБрдЭреЗ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕реНрдкрд╛рдЗрдбрд░ рдХреЛ рд╕реА-рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХрдо рд╕реЗ рдХрдо рдЬрдм рддрдХ рд╕реАрдкреАрдереЙрди рдХреЛ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдорд╢реАрдирд░реА рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рд╕реА-рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ ... рдФрд░ рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реА-рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рд▓реЛрдб рдХрд░рдирд╛ рд╢рд╛рдпрдж рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

рдФрд░ рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реА-рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдмрд╛рдд рд╣реИред рдпрд╣ рдХрд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ reload(any_module) рдХрд╣рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЕрдЧрд░ рдкрд╛рдЗрдерди рдкреИрдХреЗрдЬ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рдЯрдХ рд░рд╣реЗ рд╣реИрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ Django рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╕рдорд╛рди рд╣реИред

рдореИрдВ рдЖрдкрдХреЛ рдЬреНрдпрд╛рджрд╛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдлреНрд▓рд╛рд╕реНрдХ рдФрд░ рдирдореНрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВред
рдлреНрд▓рд╛рд╕реНрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрд╡рд░ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ Werkzeug) рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред

рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдореИрдВ Python3 рдХреЗ рд▓рд┐рдП apache2 WSGI рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рд▓реЛрдб (рдХрдИ рдзрд╛рдЧреЗ) рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЦреБрд▓рд╛ рд╣реВрдВ, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:

рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╕рдм-рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдХреБрдЫ рднреА NumPy рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдЪреНрдЫреА рд╕рд▓рд╛рд╣ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рд╡реЗрдм-рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рд░рдЧрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдХреЛрдИ рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдРрд╕рд╛ рдХрд░ рд╕рдХреЗред

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

рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдореИрдВ uwsgi (Nginx рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ " рд╕рд┐рдВрдЧрд▓-рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ = рдЯреНрд░реВ " ini config (рдпрд╛ --single-interpreter switch) рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ ред

рдпрд╣рд╛рдБ рдореБрдЭреЗ рдЗрд╕ рдзреНрд╡рдЬ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдорд┐рд▓реА:

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

рддреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде uwsgi рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрдм рддрдХ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдлрд┐рдХреНрд╕/рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд░реНрдЬ рдирд╣реАрдВ рдХрд░ рд▓реЗрддреЗ, рддрдм рддрдХ рдлрд┐рд░ рд╕реЗ рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛ - рдЬрд▓реНрдж рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд▓ рдореЗрд░реЗ рд╕рд╛рде рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА, рдФрд░ рдореИрдВ рдЕрднреА рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ рдерд╛ред рдмрд╕ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░рд╛ рдХрд╛рд░рдг рдпрд╣рд╛рдВ рд╣реЛрдЧрд╛: рдореЗрд░реЗ рдкрд╛рд╕ рд▓реЙрдЧрд░ рдореЙрдбреНрдпреВрд▓ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо logger.py рдерд╛, рдЬреЛ рдирдореНрдкреА рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдорд┐рд▓реЗ рдФрд░ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╣рдордиреЗ 1.19 рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рд╣реИред рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓, рдХреНрдпреЛрдВрдХрд┐ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@seberg 1.19 рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

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

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

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

marcocaccin picture marcocaccin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

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