Ipython: QXcbConnection: рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдордИ 2017  ┬╖  32рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

рдЬрдм рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╛рдЬрд╛ рдХреЛрдВрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рддрд╛ рд╣реВрдВ:

conda create --name test ipython matplotlib

рдФрд░ рдлрд┐рд░ ipython рдХреЗ рднреАрддрд░ рд╕реЗ import matplotlib.pyplot рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд┐рдореНрди рдорд┐рд▓рддрд╛ рд╣реИ:

In [1]: import matplotlib.pyplot

In [2]: QXcbConnection: Could not connect to display
Aborted

рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╡реЗрдирд┐рд▓рд╛ рдкрд╛рдпрдерди рдЦреЛрд▓ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред py2.7.13 (ipython 5.3.0) рдФрд░ py3.6.1 (ipython 6.0.0) рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ ipython рдмрдЧ рд╣реИ рдпрд╛ conda рдмрдЧ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╣рд▓реЗ anaconda рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рдЙрдард╛рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

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

рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ :

рдореЗрд░реЗ .bash_profile export QT_QPA_PLATFORM='offscreen' рд╕реЗрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред

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

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ os.environ['DISPLAY'] IPython рдореЗрдВ рд╡реИрдирд┐рд▓рд╛ рдкрд╛рдпрдерди рд╢реЗрд▓ рдХреА рддрд░рд╣ рд╣реА рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ matplotlib рдПрдХ рдЕрд▓рдЧ рдмреИрдХрдПрдВрдб рдЪреБрди рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░реЗрдЧрд╛ред

рд░рд╛рдЗрдЯ-- рдореИрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╣реЗрдб рдиреЛрдб рдкрд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдбрд┐рд╕реНрдкреНрд▓реЗ рдирд╣реАрдВ рд╣реИред рддреЛ рдХреЛрдИ $DISPLAY рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ ( os.environ['DISPLAY'] рджреЛрдиреЛрдВ рдЧреЛрд▓реЗ рдкрд░ KeyError рджреЗрддрд╛ рд╣реИ)ред

рдФрд░ рдЕрдЧрд░ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреИрдХрдПрдВрдб рдХреЛ 'agg' рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╣рд░ рдмрд╛рд░ ipython рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдХреБрдЫ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ matplotlib рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЬреБрдкрд┐рдЯрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ IPython рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ IPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ IPython рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрдирд▓рд╛рдЗрди рдкреНрд▓реЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП MPLBACKEND рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ IPython рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрдирд▓рд╛рдЗрди рднреВрдЦрдВрдбреЛрдВ рдХреЛ рд╡реИрд╕реЗ рднреА рдПрдХреНрд╕ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред :-/

рдореИрдВ рд╕рд┐рд░реНрдл ipython рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ DISPLAY рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рддреЛ рдмреИрдХрдПрдВрдб рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

@tacaswell рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ IPython рдпрд╣рд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ Matplotlib рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб Qt5 рд╣реИред рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ Tk рдореЗрдВ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

Tk рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ tk рдкрд░ рдЬрд╛рдирд╛ рдорд╣рд╛рди рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ tk рдкрд░ рдЬрд╛рдирд╛ рдорд╣рд╛рди рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред

рдЖрдк рдХрд╛ рдХреНрдпрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд▓рд┐рдП Qt5 рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ?

Qt5 рдПрдХ рдЕрдЪреНрдЫрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ рдФрд░ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рд╣рд╛рдИ-рдбреАрдкреАрдЖрдИ рд╕реНрдХреНрд░реАрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Tk рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рд╣реЛрдЧрд╛ред

рдареАрдХ рд╣реИ, рд╣рдо рд╣реЗрдбрд▓реЗрд╕ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдиреЛрдЯрдмреБрдХ рдХреЛ рд▓реЗрдХрд░ рдереЛрдбрд╝реЗ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди Matplotlib 1.5 (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде, рдиреЛрдЯрдмреБрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ inline рдХреЛ рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬреБрдкрд┐рдЯрд░ рдХреА рддрд░рдл рд╣реИред

рдпрджрд┐ MPLBACKEND рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ ipykernel рдЗрд╕реЗ рдЗрдирд▓рд╛рдЗрди рдмреИрдХрдПрдВрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ mpl >= 1.5 рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ matplotlibrc рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓реЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдмреИрдХрдПрдВрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдкрд░ рдирд╣реАрдВред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ! рддрдм рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдУрдкреА рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ matplotlibrc рдореЗрдВ Matplotlib рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ 'agg' рдХреЛ рдмрд╕ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдирд╛, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЯрд░реНрдорд┐рдирд▓ рдЖрдИрдкреАрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛, рдХрд░реНрдиреЗрд▓ рдирд╣реАрдВред MPLBACKEND рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдКрдкрд░ рдЬреЛ рдХрд╣рд╛ рд╡рд╣ рдЯрд░реНрдорд┐рдирд▓ IPython рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

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

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

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

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

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

@russelljjarvis рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЭреБрдВрдЭрд▓рд╛рд╣рдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк ipython рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдкрд╣рд▓реА рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ import matplotlib; matplotlib.use('agg') рддреЛ ipython рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдВ:

import matplotlib; matplotlib.use('agg')

рдореИрдВ рдЪрд▓рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдЖрджреЗрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдорд┐рд▓рддрд╛ рд╣реИ:

In [1]: QXcbConnection: Could not connect to display :0
Aborted

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдореБрдЭреЗ рдбрд┐рдмрдЧ рдФрд░ рдордВрдХреА рдкреИрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж ipython -i file_name.py рд╕рд╛рде рдЕрдЬрдЧрд░ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддрд╛ рд╣реВрдВ: ipcluster start -n 8 --profile=default &

рдЬрд╣рд╛рдВ file_name рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ import matplotlib; matplotlib.use('agg')

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдИрдкреАрдХреНрд▓рд╕реНрдЯрд░ рдЪрд▓рд╛рдирд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ :

рдореЗрд░реЗ .bash_profile export QT_QPA_PLATFORM='offscreen' рд╕реЗрдЯ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдиреЗ рднреА рдпрд╣реА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ред рдбреЙрдХрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдкрдХрд╛ рдХрдерди рд╣реЛрдЧрд╛:
ENV QT_QPA_PLATFORM offscreen ред рдореИрдВ рдЕрдм рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣реА рд╣реИ:

export QT_QPA_PLATFORM='offscreen' рд╕реНрдерд╛рдкрдирд╛ рдиреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛:

(python:17399): Gtk-WARNING **: cannot open display:

рд╕реАрдзреЗ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рд╕рдорд╛рдзрд╛рди

import os
os.environ['QT_QPA_PLATFORM']='offscreen'

рд▓реЗрдЯ-рдИрд╢ рдлреЙрд▓реЛ рдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ, Matplotlib 3.0 рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдм рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдПрдВрдб рдЪрдпрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╣реЗрдбрд▓реЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ GUI рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ rcparams рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╕реЗ рдкреВрдЫрддреА рд╣реИ)ред

рдпрд╣ рдЙрддреНрддрд░ https://unix.stackexchange.com/questions/192642/wkhtmltopdf-qxcbconnection-could-not-connect-to-display
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛

"рдХреЛрдВрдбрд╛ рдЕрдкрдбреЗрдЯ рдореИрдЯрдкреНрд▓реЛрдЯрд▓рд┐рдм" рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛рдо рдХрд░рддреА рд╣реИ !!!

рдирд┐рд░реНрдпрд╛рдд QT_QPA_PLATFORM='рдСрдлрд╝рд╕реНрдХреНрд░реАрди'

рд▓реЗрдЯ-рдИрд╢ рдлреЙрд▓реЛ рдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ, Matplotlib 3.0 рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдм рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдПрдВрдб рдЪрдпрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╣реЗрдбрд▓реЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ GUI рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ rcparams рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╕реЗ рдкреВрдЫрддреА рд╣реИ)

Matplotlib 3.1 рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдПрдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ 'Agg' рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ Matplotlib рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреИрдХрдПрдВрдб Qt5 рд╣реИред рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ Tk рдореЗрдВ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕реЗ рдХрд╣рд╛рдБ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдБ?

export QT_QPA_PLATFORM=offscreen рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдореЗрд░реА рддреНрд░реБрдЯрд┐ рд╣реИ

[tb571<strong i="7">@da02</strong> ~]$ jupyter console --kernel slicer-4.11
qt.qpa.plugin: Could not find the Qt platform plugin "offscreen" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

QT_QPA_PLATFORM='offscreen' рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж matplotlib рдФрд░ fastai рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЖрдпрд╛рдд рдЪрд▓рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, plt.figure() рдпрд╛ рдкреНрд▓реЙрдЯ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдЕрдиреНрдп рдХрдорд╛рдВрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:

This plugin does not support propagateSizeHints()
This plugin does not support raise()

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рднреА рдорд┐рд▓ рд░рд╣реА рд╣реИ

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

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

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

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

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

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

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