CONTEXTEPython sous-processus dans Emacs ne pas obtenir l'entrée ou RENVOYER Résultats
Je suis en train d'écrire un petit paquet à la ferme des calculs Emacs Lisp à un sous-processus Python donc je n'ai pas reproduire compliqué routines numériques. Pour mon problème particulier, j'ai besoin de Python en tant que sous-processus car j'ai besoin de maintenir certains calculs fastidieux effectués par Python. Pour les petites choses, je peux faire des choses parfaitement bien en envoyant des calculs à Python via des commandes shell. Cependant, j'ai besoin du sous-processus pour des choses plus intensives.
SETUP
GNU Emacs 25.2.1 sous Windows 10
Répartition Python 3.5 Anaconda pour Windows 10
EXEMPLE RUN
À partir de n'importe quel tampon, appuyez sur M-x ielm. Cela fera apparaître le shell IELM Emacs Lisp. Voici une transcription de ma séance il y a quelques instants:
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (setq PyProc (start-process "python" "*python*" "python"))
#<process python>
ELISP> (process-list)
(#<process python> #<process ielm>)
ELISP> (process-status PyProc)
run
ELISP> (process-type PyProc)
real
ELISP> (process-send-string PyProc "1+1")
nil
ELISP> (process-send-eof PyProc)
#<process python>
que vous exécutez ci-dessus Emacs Lisp IELM (ou quelque manière que vous voulez), vous pouvez regarder le tampon python. Rien ne s'affiche. Cependant, comme vous le voyez clairement, je peux tuer le processus et interroger son état de fonctionnement.
PROBLÈME
Pourquoi le processus Python ne peut pas afficher quelque chose dans le tampon python? Je l'ai fait avec MySQL à un serveur distant (en utilisant l'installation locale de MySQL) sans aucun problème.