ããã¯å¥åŠãªãã°ã§ãããã·ã¹ãã éã§åçŸã§ããããã§ãã
æåã®ã»ã«ãããããŒãããã¯ãæã£ãŠããå Žå
%matplotlib qt
ãããŠãããã¹ãŠå®è¡ããéžæãããšãIPythonã¯æåã®ã»ã«ãå®è¡ããŸããããã®åŸãã³ã°ããŸãã å³äžé
ã®ã¹ããŒã¿ã¹ã¢ã€ã³ã³ã¯çœäžžã§ãããä»ã®ã»ã«ãå®è¡ã§ããŸããã %matplotlib
è¡ã®åŸã«åçŽãªprintã¹ããŒãã¡ã³ããè¿œå ãããšããããå®è¡ãããåºåãŸãŒã³ã«åºåãããŸãã
ã»ã«ããæåã§ãå®è¡ããå Žåãããã¯çºçããŸããã ãããèµ·ãã£ãããåé¡ãªãããã¹ãŠå®è¡ããéžæã§ããŸãã
ããã¯ãOSX10.6ãš10.8ã®äž¡æ¹ã®IPyhton2.0ã§çºçããŸãã ç§ã¯anacondaãä»ããŠPython2.7ã䜿çšããŠããŸãã
ãããããã«è¿œè·¡ããããã«äœããè©ŠããŠã¿ãŠå¹žãã§ã...
Windowsã®minicondaããPython2.7ãã€ã³ã¹ããŒã«ããå Žåã«ãåæ§ã®ããšãããããŸãã æåã®ã»ã«ã次ã®ããŒãããã¯ãæã£ãŠããå ŽåïŒ
%pylab
ããã¹ãŠå®è¡ãã¯ããã®ç¹å®ã®ã»ã«ãæåã§å®è¡ããåŸã§ããåžžã«ãã³ã°ããŸãã ãã®åŸãããŒãããã¯ãäœãã«å¿çããããã«ããã«ã¯ãã«ãŒãã«->åèµ·åããå¿ èŠããããŸãã ç§ã®åé¿çã¯ããã®ã»ã«ãæåã§å®è¡ãã次ã®ã»ã«ã«ç§»åããŠããã以äžã§ãã¹ãŠå®è¡ãããããšã§ãã
ãŸãããããããã«è¿œè·¡ããã®ã«åœ¹ç«ã€è©³çŽ°æ å ±ãæäŸã§ããããšãããããæããŸãã
ããã確èªããããšãã§ããŸãïŒæåã®ã»ã«ã«%matplotlib
ãšããã€ãã®ã€ã³ããŒãïŒå®è¡ã«æéããããïŒã®äž¡æ¹ãããã次ã®ã»ã«ãšäžç·ã«å®è¡ãããå Žåã¯ããªãé¢åã§ãïŒã
ãããåçŸããç°¡åãªæ¹æ³ïŒ
%matplotlib
import time
time.sleep(10)
print "This will not print"
ãããã£ãŠãå¿
ãããããã¹ãŠå®è¡ãã«é¢é£ããŠããããã§ã¯ãªãã1ã€ã®ã»ã«ã«%matplotlib
ãããè€æ°ã®ã»ã«ãå®è¡ããããšã ãã«é¢é£ããŠããŸãã
IPython 2.1ãWindows 64ããããFirefox31ã§æåŸã«ãã¹ãããŸãã
ããå°ãå®éšããåŸããã®åé¡ãããŒãžã§ã³2.0.0ã§æåã«çŸããããšãããããŸããã ããŒãžã§ã³1.2.1ã«ããŒã«ããã¯ããå Žå
conda install ipython=1.2.1
åé¡ã¯ãªããªããŸãã
Windows 32ããããPython 2.7.7ãFirefox 31
ç§ããã®ãã°ã«ééãã Windows 8ãIPython2.3.1ã§Python3.4.1ãAnaconda 2.1.0ïŒ64ãããïŒã䜿çšããŠåçŸã§ããŸã
ããã¯ããªãåä»ãªãã°ã§ãã ããã远跡ããããã«ç§ã«ã§ããããšã¯ãããŸããïŒ 4.0ãã€ã«ã¹ããŒã³ã¯ïŒããããïŒãã€å®äºãããšäºæ³ãããŸããïŒ
Linux Mint 17ãpython 3.4ãmatplotlib 1.4.0ã§githubïŒe2778c5f4047d03f5f025bd53d1704a0cf9f0337ïŒã®æè¿ã®ipythonããŒãžã§ã³ã䜿çšããŠãã°ã確èªããŸãã
ãã®äººã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ å¿ èŠã«å¿ããŠãããã«ãã¹ããè¡ãããšãã§ããŸãã ãã®ãã°ã¯æ¬åœã«è¿·æã§ã!!!
ããã¯ç§ã«ãèµ·ããããšã確èªã§ããŸããCentOSw/ python2.7ãšmatplotlib1.4.4ã§åžžã«èµ·ãããŸãã
ã»ã«ãæåã§å®è¡ãããšæ©èœããŸããïŒ
äžèšã®ç§ã®ã³ã¡ã³ãïŒhttps://github.com/ipython/ipython/issues/5629#issuecomment-50603511ïŒãåç §ããŠãã ãããè€æ°ã®ã»ã«ãæåã§å®è¡ããå Žåã«ã衚瀺ãããŸã
ã¯ã-åºæ¬çã«ã¯ã¿ã€ãã³ã°ã®åé¡ã ãšæããŸãã Shift + Enterã§ã»ã«ãå®è¡ãã1ç§åŸ ã£ãŠãããä»ã®ã»ã«ãç¶è¡ãããšãæ©èœããŸãã Shift + Enterãç¹°ãè¿ãæŒããšããã³ã°ããŸãã ããã«ã»ã«ãå®è¡ããŠããã³ãŒãã¯å®éã«ã¯å®è¡ãããŸããïŒå³äžã®å°ããªåã¯ãŸã 空ã§ãïŒã
^ããã¯ç§ã芳å¯ããããšã§ããããŸãã
Ipython Notebook3.1.0ã§æ€èšŒæžã¿ã åé¿çïŒ
import time
%matplotlib
time.sleep(1)
éãã§ããããã¹ãŠãå®è¡ãããªãã·ã§ã³ããããããã®ã¯é¢åã§ãã
ãããèªåã®ãã·ã³ã§ãåäœãããããšãã§ããŸããã
7:02ã§éã2015幎6æ12æ¥ã«ã¯ãquicknir [email protected]ã¯æžããŸããïŒ
Ipython Notebook3.1.0ã§æ€èšŒæžã¿ã åé¿çïŒ
ã€ã³ããŒãæé
ïŒ matplotlib
time.sleepïŒ1ïŒéãã§ããããã¹ãŠãå®è¡ãããªãã·ã§ã³ããããããã®ã¯é¢åã§ãã
â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/ipython/ipython/issues/5629#issuecomment-111502934 ã
ããã4.1ïŒãŸãã¯5.0ïŒã§ãã€ã«ã¹ããŒã³åã§ããŸããïŒ
ããŒãããã¯ãã¶ãäžããããšã¯ããŠã£ãã·ã¥ãªã¹ãã®ãã€ã«ã¹ããŒã³ã«ãµãããããããå°ãå³ããããã«èãããŸãïŒç§ã«ã¯ïŒã ãŸãããã®ãã°ã¯ãmatplotlibã䜿çšãããšãã«åä»ã§ãïŒåé¿çã«ããããããïŒã
çç±ãããããŸã§ãåé¿çãšããŠmatplotlibããžãã¯èªäœã«sleep(1)
ãå«ããå¿
èŠããããŸããïŒ
ïŒ+1ïŒ
ç¡ç ã®åé¿çãç§ã«ãšã£ãŠããŸãããããšã¯ãã£ãã«ãããŸããã ç§ã¯ãããæ°ååäœããã®ãèŠãŸããããç§ããããè©Šããã»ãšãã©ã®å ŽåãããŒãããã¯ã¯ãŸã ãã³ã°ããŠããŸãã
ç§ã«ãšã£ãŠäžè²«ããŠæ©èœããå¯äžã®åé¿çã¯ã次ã®ãšããã§ãã
FWIWãããå°ããã¹ãããŠããããã©ã®çšåºŠããŸãæ©èœããããããåççã«èŠç©ããããšããŸããã
次ã®3ã€ã®ã»ã«ã§ããŒãããã¯ãäœæããŸããã
import time
%matplotlib qt
time.sleep(1)
with open("test_log.txt", "a") as fid:
fid.write("it worked\n")
ãã®åŸãã·ã§ã«ã§å®è¡ãããŸããïŒ
for i in {1..100}; do
ipython nbconvert --execute test_qt.ipynb --inplace;
done
wc -l test_log.txt
ãã®ãã¹ãã¯æ£ããã³ãŒããå®è¡ããŠããªãå¯èœæ§ããããŸãããåé¡ãªãæ©èœããŠããããã§ãã
4.1ãšããŒã¯ãããŠããã®ã§ãããã確èªããŸãã
ããããšãããããŸããã
@mwaskomã®åçŸãè©ŠãããšãããåãçµæãåŸãããŸããã ãããããã®åŸãæéãšã¹ãªãŒãã®ã³ãŒããåãé€ããŠãã·ã§ã«éšåãå床å®è¡ãããšãããã¯_ãŸã_æ©èœããŸããïŒ ãããã£ãŠãããã¯é©åãªåçŸæé ïŒãŸãã¯å
éšåé¿çïŒã§ã¯ãªãããã§ãã ïŒ-/
ãŸãã @ tanderlã®ããã«ãç¡ç ã®åé¿çãäžè²«ããŠæ©èœããªãããšãããããŸããã ããã¯ãUbuntu64ãããã®ipython3.2.1ã«ãããŸãã ææ¥ã¯Windowsã§ãåãããšãã§ããŸãã
Windows 8.1ã§ã¯ãAnacondaçµç±ã§ã€ã³ã¹ããŒã«ãããIpython 3.2.0ã䜿çšããŠãã¹ãªãŒãã®åé¿çãæ©èœããªãããšãããããŸãããã€ãŸããmatplotlibããžãã¯ã®Runãšåãã»ã«ã«sleep(1)
ïŒãŸãã¯ãã以äžã®å€ïŒãããå Žåã§ããæ°ããåèµ·åããã«ãŒãã«ã®ãã¹ãŠã¯ã次ã®ã»ã«ã«æãä»ãããŸãŸãã³ã°ããŸãïŒãŸãã¯äœããããUIã¯åŒãç¶ãæ©èœããŸãïŒã ã»ã«ã1ã€ãã€æåã§å®è¡ãããã®éã«åŸ
æ©ããŠããåŒãç¶ãæ©èœããŸãã
LinuxMintã®æŽæ°ãããanacondaã¹ã¿ãã¯ã§
ããã«ã¡ã¯ã
ç§ã¯ã¡ããã©åæ§ã®åé¡ãçµéšããŸããã ïŒ
matplotlibã€ã³ã©ã€ã³ãŸãã¯ããŒãããã¯ããžãã¯ã䜿çšããããŒãããã¯ãå®è¡ãããšãããã¹ãŠã®ã»ã«ãå®è¡ãããã³ã°ããããšãããããã¹ãŠã®ã»ã«ãæåã§å®è¡ããå¿
èŠããããŸãã
Windows 7ãPython 3.5ãIPython 5.1.0ãNotebook 4.1.0ãmatplotlib1.5.3ãå®è¡ããŠããŸãã
åé¿çãšããŠããã¹ãŠã®åºåãã¯ãªãŒã³ã¢ãããããšãæ©èœããããã§ãã æ®å¿µãªãããåçå¯èœãªããŒãããã¯ãæäŸããããšã¯ã§ããŸããïŒå°æ¥ããã«ééããå Žåã¯æäŸããŸãïŒã
å®ãããé¡ãããŸãã
ãããªã¢ã³
ããã¯ãjupyterããŒãããã¯ãšã©ãã®äž¡æ¹ã§ãŸã åé¡ã«ãªã£ãŠããŸãã
@thomasaarholtä¿¡é Œã§ããè€è£œæé ã¯ãããŸããïŒ
@bilderbuchiã¯ãã®å·ã®å ã®æçš¿ãåç §ããŠãã ãããããã¯ãŸã åãåé¡ã§ãã ãããç§ã®ãã·ã³ã§ãããåçŸããGIFã§ãïŒOSX w /ææ°ã®jupyterãšqt4ïŒ
@Carreau ããã®åçŸã¯ååã«æ©èœããŸããïŒ ã¶ãäžãã£ãŠãããã°ã¯ããŠã£ãã·ã¥ãªã¹ãããããç·æ¥ã§ããå¿ èŠããããŸããïŒ
@bilderbuchi @Carreau ããŠã£ãã·ã¥ãªã¹ãã¿ã°ãèŠã€ããŸããã
ãã®ãã°ã®åªå
床ãã¯ããã«é«ãããå¿
èŠãããããšã䞻匵ããããšæããŸãã
å€ãã®æ°ããjupyterãŠãŒã¶ãŒã¯ãæ¢åã®ããŒãããã¯ã§jupyterã®äœ¿ãæ¹ãåŠã³ãŸãã ããšãã°ããã©ã°ã€ã³ãæäŸãããµã³ãã«ã¯ãŒã¯ããã¯ãå®è¡ããããšããŸãã çŸåšã®åäœã§ã¯ã[ãã¹ãŠå®è¡]ã³ãã³ãã䜿çšããããããŒãããã¯ããã°ãããShift + EnterããããŠãŒã¶ãŒã¯ãããŒãããã¯ãæåã®ç¬éãããã³ã°ããŠããããšã«æ°ä»ãã§ããããããã«ããã第äžå°è±¡ãéåžžã«æªããªããŸãã ãã®ãããªå°è±¡ã¯ãã³ãŒãã£ã³ã°ãåããŠåŠã¶äººããéå»ã«æªãçµéšïŒã¯ã©ã¹/è©ŠéšïŒãçµéšãã人ã«ãšã£ãŠããè€éãªã³ãŒãã£ã³ã°ããããã«éèŠã§ãããã匷調ããããšããããããŸãã
ãã®ãã°ã®åªå 床ãã¯ããã«é«ãããå¿ èŠãããããšã䞻匵ããããšæããŸãã
ããŠãããã¯ãã¯ãåªå é äœã®åé¡ã§ã¯ãããŸããããã°ã¯2幎以äžéããŠããŸãããããŠåé¡ã¯èª°ããããç解ããããšãã§ããªããšããããšã§ãã ç§ãã¡ã¯ãããç解ããããšããŸããããããã¯ãšããã©ããã®ãªãä¿®æ£ã§ããããã«æãããåšãã®ãã¹ãŠã®ãã¬ãŒã ã¯ãŒã¯ã€ãã³ãã«ãŒããšã©ã€ãã©ãªã®å°é家ã«ãªãããšã¯ã§ããŸããã åãã§äœããããããšæããŸããããã®åé¡ã¯é·ãéé·åŒããŠãããããåªå 床ã®é«ãã¿ã°ãä»ããŠãå¹æã¯ãããŸããã äœãèµ·ãã£ãŠããã®ããç¥ã£ãŠããéçºè ã¯ããŸããã ããã§ãªããã°ãç§ãã¡ã¯ãããä¿®æ£ããã§ãããã
@Carreau ipythonã³ãŒãã®ã©ãã§ã«ãŒãã«ãµãŒããŒãšGUIã®çµ±åãè¡ãããã¹ããã
ããã°ã©ã ã§ããŒãããã¯ããã©ãŠã¶ã§éãããã¹ãŠã®ã»ã«ãå®è¡ããæ¹æ³ã¯ãããŸããïŒ ããã¯ãããããã³ãŒããgit bisectããŠããããåŒãèµ·ããå€æŽãç¹å®ããããšãå¯èœã«ããã§ãããã
ã¿ãŒããã«ããIPythonã»ãã·ã§ã³å
ããnbconvert --execute
ãä»ããŠåé¡ã®ããããŒãããã¯ãå®è¡ããããšããŸããããä»ã®ãšãããã³ã°ãããããšãã§ããŸããã§ããã
@bilderbuchiæåã«ãèªåã®ãã·ã³ã§ãã°ããæäœæ¥ã§ãåçŸã§ããŸããïŒ
ã¯ãã éæ³ã®ããŸããŸãªããªãšãŒã·ã§ã³ãè©ŠããŠã¿ããšãããã€ãã®èå³æ·±ãè¡åãèŠã€ãããŸãã
æåã®ã»ã«ã®å
容ïŒ
%matplotlib notebook -> works
%matplotlib inline -> works
%matplotlib -> prints Using matplotlib backend: Qt5Agg, then hangs
%matplotlib qt -> prints ModuleNotFoundError: No module named 'PyQt4' (I think that's a different unrelated bug)
%matplotlib qt5 -> prints nothing, then hangs
ïŒ %matplotlib qt
å®è¡ãããšãã®å¥ã®ãã°ã¯ãContinuumIO / anaconda-issuesïŒ1068ã ãšæããŸããïŒ
2çªç®ã®ã»ã«ã«ã¯
print("This will not print")
äžèšã§ããã³ã°ããšèšã£ãå Žåã2çªç®ã®ã»ã«ã®çªå·ã«ã¯åžžã«ã2ãã§ã¯ãªãæãä»ããŠãããã¡ãã»ãŒãžãåºåãããããšã¯ãããŸããã
ãããã¯ãã¹ãŠã«ãŒãã«ã§å®è¡ãããŸãã-ãã¹ãŠãåèµ·åããŠå®è¡ããã¹ã¬ãŒãããããã«ããŸãã ããã¯ãWindows 10ãIPython 5.3.0ãFirefox52.0.2ã®Anacondaãä»ããPython3.6.1ã«ãããŸãã
ipythonã³ãŒãã®ã©ãã§ã«ãŒãã«ãµãŒããŒãšGUIã®çµ±åãè¡ãããã¹ãããæããŠããã ããŸããïŒ
ã€ãã³ãã«ãŒãçµ±åãã©ã®ããã«æ©èœãããã«ã€ããŠã®èª¬æã¯ããã«ãããŸãïŒ httpïŒ //ipython.readthedocs.io/en/stable/config/eventloops.html#event -loops-in-the-kernel
ãããŠãQt 5ã€ãã³ãã«ãŒãã®ã³ãŒãã¯ããããå§ãŸããŸãïŒ https ïŒ
確èªããã ãã§ã-åé¡ã¯ééããªã%matplotlib
ã®ãmatplotlibãéšåã«ãããäžè¬çãªéæ³ã§ã¯ãããŸãããïŒ ä»ã®éæ³ã®å®è¡ã«ãããæéãçãããããã°ãç®ç«ããªããªãå Žåã«åããŠã
ãã®åé¡ã¯%gui qt
ããžãã¯ã§ãçºçããŸãããç¶æ³ã«ãã£ãŠã¯matplotlibãã€ã³ããŒãããããšããŠãããšæãã®ã§ãããããããŸããã
ããã¯ïŒçŽæ¥ïŒmatplotlibãéæ³ãšã¯äœã®é¢ä¿ããããŸããã ã·ã§ãŒãå®è¡ããŠãã1ã€ã®ã€ãã³ãã«ãŒãããå¥ã®ã€ãã³ãã«ãŒãã«ãã³ããªãããå Žåãããã¯ã»ãŒç¢ºå®ã«ç«¶åç¶æ ã§ãã
ç§ã®æšæž¬ã§ã¯ã httpsïŒ//github.com/ipython/ipython/pull/10301/filesãžã®åæ§ã®ä¿®æ£ãããã§å¿ èŠãªãã®ã ãšæããŸãã
SpyderãæŽæ°ããåŸãåæ§ã®åé¡ã«çŽé¢ããŸãã
ãããïŒ guiqtã§ãŸã çºçããŠããããšã確èªã§ããŸãã ããŒãããã¯ããåŒã³åºãQtã®ãã®ãããããããããããã®ããŒãããã¯ã§ã¯ãæåã®ã»ã«ãæåã§å®è¡ããå®äºããã®ãåŸ ã£ãŠããã以äžããã¹ãŠå®è¡ããå¿ èŠããããŸãã
æãåèã«ãªãã³ã¡ã³ã
ãã®åé¡ã¯
%gui qt
ããžãã¯ã§ãçºçããŸãããç¶æ³ã«ãã£ãŠã¯matplotlibãã€ã³ããŒãããããšããŠãããšæãã®ã§ãããããããŸããã