forked from mirrors/org-mode
ob-python: Fix Emacs bug#50514 when Python loads slowly
* lisp/ob-python.el (org-babel-python-initiate-session-by-key): Do not rely on 10ms delay to initialize Python. Wait until python process is initialized using `org-babel-comint-wait-for-output'.
This commit is contained in:
parent
5ba90e161b
commit
06373a6438
|
@ -197,8 +197,7 @@ then create. Return the initialized session."
|
||||||
(setq py-buffer (org-babel-python-with-earmuffs session)))
|
(setq py-buffer (org-babel-python-with-earmuffs session)))
|
||||||
(let ((python-shell-buffer-name
|
(let ((python-shell-buffer-name
|
||||||
(org-babel-python-without-earmuffs py-buffer)))
|
(org-babel-python-without-earmuffs py-buffer)))
|
||||||
(run-python cmd)
|
(run-python cmd)))
|
||||||
(sleep-for 0 10)))
|
|
||||||
((and (eq 'python-mode org-babel-python-mode)
|
((and (eq 'python-mode org-babel-python-mode)
|
||||||
(fboundp 'py-shell)) ; python-mode.el
|
(fboundp 'py-shell)) ; python-mode.el
|
||||||
(require 'python-mode)
|
(require 'python-mode)
|
||||||
|
@ -217,6 +216,8 @@ then create. Return the initialized session."
|
||||||
(py-shell nil nil t org-babel-python-command py-buffer nil nil t nil)))
|
(py-shell nil nil t org-babel-python-command py-buffer nil nil t nil)))
|
||||||
(t
|
(t
|
||||||
(error "No function available for running an inferior Python")))
|
(error "No function available for running an inferior Python")))
|
||||||
|
;; Wait until Python initializes.
|
||||||
|
(org-babel-comint-wait-for-output py-buffer)
|
||||||
(setq org-babel-python-buffers
|
(setq org-babel-python-buffers
|
||||||
(cons (cons session py-buffer)
|
(cons (cons session py-buffer)
|
||||||
(assq-delete-all session org-babel-python-buffers)))
|
(assq-delete-all session org-babel-python-buffers)))
|
||||||
|
|
Loading…
Reference in New Issue