Emacsのシェルでpythonの対話モード起動できない

このQ&Aのポイント
  • Emacs上でpythonの対話モードを開こうとしても、起動できません。
  • 他のシェル(M-x powershellなど)でも同様の問題が発生します。
  • 普通にコマンドプロンプトやpowershellでならpythonの対話モードを起動できます。
回答を見る
  • ベストアンサー

Emacsのシェルでpythonの対話モード…

windows10上でEmacs26.3を使っています。 Emacsのシェル上でpythonの対話環境を開こうとしてもできません。 Emacs上でM-x shellなりM-x eshellなりM-x powershellなりでシェルを開いて、 画面が C:\Users\Username> 等となっている状態で、 C:\User\Username>python と打ってエンターを押しても、ただ改行されるだけで起動しません。 python以外でも、juliaやstack ghci(haskellの対話モード起動する)でも変な挙動になります。 普通のコマンド類(cdやdirなど)は問題なく使えます。 Emacs上ではなく普通にコマンドプロンプトやpowershellでなら普通にpython対話モードを起動できます。 どうすれば上手く起動するでしょうか。

noname#250538
noname#250538

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.1

shell-mode等は、そこから起動されたシェルとやりとりしているはずですので、さらに別のインタラクティブモードを動かすというのはできなかったかと。 shell-modeと同様にpython-modeもあるはずですけど、それではダメなのでしょうか。

noname#250538
質問者

補足

回答ありがとうございます。やはり難しいですか… >shell-modeと同様にpython-modeもあるはずですけど、それではダメなのでしょうか。 必要になったときはそうすればいいのでダメでは無いのですが、 単に使用感を普段と同じようにできればいいなと思ったので… それとじゃあHaskellやらjuliaやらの別のインタラクティブモードについてはどうするのか考えるのが面倒だったというのもあります。 WSLとか使って実質Linux上でEmacsを起動すればpythonインタラクティブモード on shell-mode on Emacsなんかも普通に起動できました。それが直接Windows上でできたら便利だなと…

関連するQ&A

  • Emacs上でmoreやlessが機能しない

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacsのシェルモードでは、cygwinのbashを使っています。 このシェルモードで、ファイルをmoreやlessといったコマンドで表示しようとしても、 1ページずつ表示されず、catコマンドと同じように、一気に表示されます。 Emacsのシェルモードでは、moreやlessの1ページずつ表示する機能は、使えないのでしょうか? 以上の件について何かご存知の方がいらっしゃれば、是非教えて頂きたいと思います。

  • シェルとは

     シェルとは【ユーザと対話する能力を持ち、カーネルに対して操作のお伺いを立てる仲介役のプログラム】と書かれていました。  また、シェルの機能として【コマンドとして入力された名前のプログラムを探し出して起動する。】ということも書かれていました。 そこで疑問を持ちました。前述では仲介役であると述べられてるのに対して、後述での機能ではプログラムを探し出し、起動する.と書かれていてCPUに指示・命令までしてるのか?と不思議に思いました。 下記のように解釈すればいいのでしょうか? プログラム探し出して起動するという命令をCPUに出すのはカーネルであり、あくまでもシェルとはユーザが打ったコマンドをOSが解釈できる形に翻訳してるプログラムにすぎないのですよね? 一般的なシェルの解釈は→仲介役 機能としてのシェルの解釈は→(カーネル+シェル) と考えればよろしいでしょうか?

  • Windows10へのPythonのインストール

    Win10にPythonをインストールする手順はいろいろありますが、Anacondaからインストールするとスタートにアイコンができるのでjupyter notebookが起動できますが、マイクロソフトストアからのものだとjupyterが起動できないようです(アイコンがないから方法が不明)。Anacondaでない方のpythonでjupyter notebookを使えるようにするにはどうしたらいいでしょうか。 Anacondaでインストールすると、専用のコマンド、パワーシェルができます。それとはちがう普通のパワーシェルだとpythonコマンドを投入すると、マイクロソフトストアが出てきてそちらのpythonのインストールに向かうことがあります。その方向にうっかり進むとpythonのインストールが開始され、2つのpythonの環境ができてしまいます。 これはやはりまずいのではないかと思います。 一度、2つのpythonをクリーンにアンインストールしてしまうのがいいと思いますが、1つ1つアンインストールしていくしかないでしょうか。環境がスパゲッティのように絡んでしまってクリーンにアンインストールできるのかなと思うのですが。 powerシェルからpythonコマンドを投入すると細々としたエラーメッセージが出てくる(pythonの機能は一応使えるようにはなるみたいですが)のでクリーンアンインストールしたいと思っています。 よろしくお願いします。

  • vimからシェルを呼び出すことはできますか?

    Linux上でvim ver6.1を使用しています。 splitコマンドで画面を分割して、片方の画面はシェルを呼び出したいのですが、そのようなことは可能でしょうか? イメージとしては、emacsで画面を分割して、片方の画面では、M-x shellを実行したときのようにしたいのですが。

  • シェルスクリプトの書き方

    すみません、シェル初心者なのですが、急を用してまして質問させて頂きました。 シェルスクリプトで コマンドを実行する前に他のユーザにスイッチしてから 実行するというのを実現したいのですが・・・ #!/bin/csh コマンド1 コマンド2 ・・・ とコマンド1の前に su コマンドを実行させたいのですが、 パスワードを入力する際、対話式なので どう書いてよいか分かりません。 よろしくお願いします。

  • シェル内で自動ユーザ変更

    SunOS 5.10を使っていますが シェルを実行するのはAやBなど同一グループに属すユーザとしてシェルと作成し、 シェルの中で実行されるコマンドや子シェルはXというAやBと同一グループだけど 単一ユーザにしたいのですがそういう事は可能ですか? ・rootユーザはNG ・パスワードの入力は対話型でするのではなく自動化させたい ・rshやrloginなどは使いたくない ・恒久的にXというユーザのパスワード入力が省略されるのはNG などが条件です。 要はツールをシェルで作って実行するユーザはマルチユーザ化したいが シェル内ではパスワード入力などマルチユーザが意識しないで処理が止まる事なく 単一ユーザで処理させたい、出力したファイルなどの所有者も 単一ユーザとなるのようにしたいのですが。 わざと抽象的に書いていますが、なにか方法はありますでしょうか?

  • [es]でpython2.5のファイル実行

    PythonCEのPython2.5を[es]にインストールしました。対話モードでは使えているのですが、作成したスクリプトファイルを実行する方法がわからなくて困っています。コマンドラインから >>>python ファイ名.py としても実行されません。 作成したスクリプトファイルを実行する方法を教えてください。 よろしくお願いします。

  • Emacsのshellモードに関する質問

    Emacsのshellモードにに関する質問 こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 shellモードについて、2つ質問させて下さい。 ・cdといった、bashの組み込みコマンドが、日本語を対処できない。 shellモードのシェルとして、bashを使った場合、cdコマンドの引数に、 日本語を含むディレクトリを指定すると、 No such file or directoryと表示されて、目的のディレクトリに移動できません。 具体的には、以下のような感じです。 ------------------------------------------------------------ Kei-Valuestar@Kei:~/Make_Tests_for_C_Files $ls 2つの関数、1つのヘッダ make_01 make_02 make_03 make_04 make_05 make_06 make_07 make_08 make_09 デフォルトシンボル、組み込み関数一覧.url トリビアなmakefile入門.url Kei-Valuestar@Kei:~/Make_Tests_for_C_Files $cd 2つの関数、1つのヘッダ/ bash: cd: 2つの関数、1つのヘッダ/: No such file or directory ------------------------------------------------------------ 日本語環境は整えてあるので、lsコマンドでは、日本語ファイルがきちんと表示されていますし、日本語ファイル名の補完も上手く行くので、bashの組み込みコマンドである、 cdだけが、日本語を適切に扱えないのだと思います。 日本語も扱える、cdコマンド(exeファイル)は、どこかで配布されてないのでしょうか? ・moreやlessといったコマンドが、きちんと動作しない。 shellモードでは、コマンドプロンプトや、cygwinのbashを使うのですが、 どちらを使った場合でも、moreやlessといった、ファイルの内容をページごとに表示する コマンドを実行した時に1ページづつ表示されず、catコマンドを実行した場合と同じように、ファイルの内容が全て表示されてしまいます。 何か対処法は無いでしょうか? 以上の件で、何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。

  • MacでPython スクリプトファイルの実行

    自分はMacユーザです。 プログラミングに興味があったので Python2.6のインストールと入門書の購入をしました。 スクリプトファイルの実行をしたいのですが、やり方がわかりません。 Macにあるテキストエディタで print "hello" と入力して、test.pyという名前でデスクトップに保存しました。 購入した本には「LinuxやMac OS Xであれば、シェルからコマンドを入力します。」と記されています。 そもそもシェルの意味が分かりません。。。 「python test.py」と入力とも書いてあるのですが、どこに書くのでしょうか。。 ネットで簡単に調べてみたのですが、いまいち分かりません。 初心者なので、分かりやすく回答して頂けるとありがたいです。 どうか、よろしくお願いします。

  • Emacsでflyspell-modeの自動起動

    EmacsでTeXを使って英文を書くことが多いのですが、 Emacsを起動するたびに毎度毎度'M-x flyspell-mode'とタイプして 起動しています。たいした作業量ではないのですが、Emacsを起動すると 同時にflyspell-modeを起動するようにできないでしょうか? (.emacsにどう書いたらいいのかわかりません。) よろしくお願いします。

専門家に質問してみよう