рдирдорд╕реНрддреЗ,
рдЬрдм рдореИрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ: "рд╕реБрдиреНрди рдЖрдпрд╛рдд рд╕реЗ *" рдХреЛрдб рд╕реЗ рдФрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рддреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ:
Traceback (most recent call last):
рдлрд╝рд╛рдЗрд▓ "rgbtoyuv.py", рдкрдВрдХреНрддрд┐ 2, in
np . рдХреЗ рд░реВрдк рдореЗрдВ numpy рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.5/site-packages/numpy-1.11.2-py3.5-linux-x86_64.egg/numpy/__init__.py", рд▓рд╛рдЗрди 163, рдореЗрдВ
рд╕реЗ ред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.5/site-packages/numpy-1.11.2-py3.5-linux-x86_64.egg/numpy/random/__init__.py", рд▓рд╛рдЗрди 99, рдореЗрдВ
.mtrand рдЖрдпрд╛рдд рд╕реЗ *
ImportError: /usr/local/lib/python3.5/site-packages/numpy-1.11.2-py3.5-linux-x86_64.egg/numpy/random/mtrand.cpython-35m-x86_64-linux-gnu.so : рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреАрдХ: PyFPE_jbuf
рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдЙрдмрдВрдЯреВ16.04 x86_64
рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг: 3.5.2
numpy рд╕рдВрд╕реНрдХрд░рдг: 1.11.2 рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХрд╛рд░рдг рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
рдЖрдкрдХреЛ рд╕реБрдиреНрдирддрд╛ рдХрд╣рд╛рдБ рд╕реЗ рдорд┐рд▓реА? рдмреАрдЯреАрдбрдмреНрд▓реВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬреАрдердм рдореБрджреНрджреЗ рдмрдЧ рдХреЗ рд▓рд┐рдП рд╣реИрдВ
рдореБрдЭреЗ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ?
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реБрд░рд╛рдЧ:
CPython рдореЗрдВ SIGFPE рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрдкрд╡рд╛рдж рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛрдб рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк PyFPE_START_PROTECT
/ PyFPE_END_PROTECT
рд╕реА-рд▓реЗрд╡рд▓ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯреЗрд╢рдВрд╕ рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВред рдпрджрд┐ CPython рдХреЛ --with-fpectl
(рдЬреЛ #define WANT_SIGFPE_HANDLER
рдореЗрдВ pyconfig.h
) рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ PyFPE_jbuf
рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рддреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрди рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдХреБрдЫ рдЪрддреБрд░ рд╕рд╛рдорд╛рди рдореЗрдВ рдЬреЛ рдЗрд╕ рдкреНрд░рддреАрдХ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИред рдпрджрд┐ CPython рдХреЛ --with-fpectl
рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдкреНрд░рддреАрдХ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдиреЛ-рдСрдкреНрд╕ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ CPython рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ, рдЕрд╕рдВрдЧрдд ABI рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ --with-fpectl
рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд░реНрд╖ред
(рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк import fpectl
рдХрд░рдХреЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ CPython рд╣реИ - рдпрджрд┐ рдпрд╣ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ --with-fpectl
CPython рд╣реИред)
Numpy рд╕реНрд╡рдпрдВ рдЗрди рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рдЗрдерди рд╕реНрд╡рдд: рдЙрддреНрдкрдиреНрди рдХреЛрдб рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖: рдпрджрд┐ рдЖрдк --with-fpectl
рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд CPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Cython рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЖрдк рдЗрд╕реЗ CPython рдкрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдмрд┐рдирд╛ --with-fpectl
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд▓рд┐рдирдХреНрд╕ CPython рдХреА рддреНрд╡рд░рд┐рдд рдЬрд╛рдБрдЪ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ --with-fpectl
:
@ kevinzhai80 : рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрдмрдВрдЯреВ-рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ numpy рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХреЛрдВрдбрд╛-рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛?
рд╣рд╛рдп рдирдЬрд╕реНрдорд┐рде,
рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж рдирдЬрд╕реНрдорд┐рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: рдЙрдмрдВрдЯреВ 17.10 рдЖрд░реНрдЯрдлреБрд▓ рдирдВ ред рдЙрдиреНрдирдпрди рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реБрдИ:
$ рдЕрдЬрдЧрд░
рдкрд╛рдпрдерди 2.7.14 (рдбрд┐рдлрд╝реЙрд▓реНрдЯ, 23 рд╕рд┐рддрдВрдмрд░ 2017, 22:06:14)
[рдЬреАрд╕реАрд╕реА 7.2.0] linux2 рдкрд░
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП "рд╕рд╣рд╛рдпрддрд╛", "рдХреЙрдкреАрд░рд╛рдЗрдЯ", "рдХреНрд░реЗрдбрд┐рдЯ" рдпрд╛ "рд▓рд╛рдЗрд╕реЗрдВрд╕" рдЯрд╛рдЗрдк рдХрд░реЗрдВред
рдЖрдпрд╛рдд fpectl
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "", рд▓рд╛рдЗрди 1, рдЗрди
ImportError: fpectl рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ?
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реБрд░рд╛рдЧ:
CPython рдореЗрдВ SIGFPE рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрдкрд╡рд╛рдж рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛрдб рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
PyFPE_START_PROTECT
/PyFPE_END_PROTECT
рд╕реА-рд▓реЗрд╡рд▓ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯреЗрд╢рдВрд╕ рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВред рдпрджрд┐ CPython рдХреЛ--with-fpectl
(рдЬреЛ#define WANT_SIGFPE_HANDLER
рдореЗрдВpyconfig.h
) рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛPyFPE_jbuf
рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рддреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрди рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдХреБрдЫ рдЪрддреБрд░ рд╕рд╛рдорд╛рди рдореЗрдВ рдЬреЛ рдЗрд╕ рдкреНрд░рддреАрдХ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИред рдпрджрд┐ CPython рдХреЛ--with-fpectl
рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдкреНрд░рддреАрдХ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдиреЛ-рдСрдкреНрд╕ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ CPython рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ, рдЕрд╕рдВрдЧрдд ABI рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ--with-fpectl
рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд░реНрд╖ред(рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк
import fpectl
рдХрд░рдХреЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ CPython рд╣реИ - рдпрджрд┐ рдпрд╣ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕--with-fpectl
CPython рд╣реИред)Numpy рд╕реНрд╡рдпрдВ рдЗрди рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рдЗрдерди рд╕реНрд╡рдд: рдЙрддреНрдкрдиреНрди рдХреЛрдб рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖: рдпрджрд┐ рдЖрдк
--with-fpectl
рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд CPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Cython рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЖрдк рдЗрд╕реЗ CPython рдкрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдмрд┐рдирд╛--with-fpectl
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛редрдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд▓рд┐рдирдХреНрд╕ CPython рдХреА рддреНрд╡рд░рд┐рдд рдЬрд╛рдБрдЪ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ
--with-fpectl
:@ kevinzhai80 : рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЙрдмрдВрдЯреВ-рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ numpy рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХреЛрдВрдбрд╛-рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛?