問題タブ [python.el]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - EmacsでPythonプロジェクトルートを設定しますか?
emacs-for-python ( に基づくpython.el
) は、Python プロセスを開始し、Emacs から直接バッファを送信する優れた機能を提供します (通常は で行いますC-c C-c
)。ただし、この方法ではバッファごとに新しいプロセスが作成され、Python の作業ディレクトリは対応するファイルのディレクトリに設定され。
代わりに、作業ディレクトリがプロジェクトのルートに設定された単一の Python プロセスが必要です。または、いくつかのプロセスでさえ、モジュールのディレクトリではなく、ルートディレクトリで開始された可能性があります。
なぜそれが必要なのですか?あくまでも輸入品です。次のプロジェクト構造を想像してください。
file で Python プロセスを開始するmod1.py
と、Emacs は自動的に作業ディレクトリを に設定myproject/package1
し、同じパッケージからのみモジュールをインポートするように制限します。他のパッケージからのインポートはありません。絶対輸入はありません。痛み。
sys.path
現在、次のようなトリックを使用しています。
各モジュールの冒頭。しかし、これは本当に、本当に、本当に醜く、不便です。
Emacsで下位プロセス用にPythonのプロジェクトルートを設定するためのヒントやコツはありますか?
python - Emacs: 派生モードで python.el のインデントを変更する
Boo の python.el (現在の公式の gnu モード) から新しい emacs モードを派生させようとしていますが、インデントの変更に問題があります。これを最もよく処理する方法について何か提案はありますか? 大幅に変更する必要はありません。新しいブロック フォームなどを追加するだけです。
たとえば、これは Boo 用であるため、try/except 構文は「finally」ではなく「ensure」を使用します。これは、python-rx-constituents のブロック開始定義を変更することで、python.el で簡単に変更できます。ただし、python-rx-constituents がマクロ python-rx によって使用されているため、派生モードでこれをオーバーライドできないようです。python.el の読み込み時にこれら 2 つのものが定義されると思います (必要に応じて、私はそれから派生しているので)、ロード後またはフックでオーバーライドできなくなりましたか? python.el がロードされた後、メモリ内とフック内、およびロード後のステートメントで間違いなく変更したため、それらのどれも機能しません。python.el を直接変更しても問題なく動作します。
python.el から問題のコードを次に示します。
block-start に finally ではなく「ensure」が含まれるように python-rx-constituents を変更したいと思います。
emacs - aquamacs の評価領域 ipython インタープリター
Aquamacs 3.0a GNU Emacs 24.3.50.2 をインタープリターとして iPython 1.2.0 で動作させようとしています。python.elの指示を使用して、iPythonを基本的に機能させることができました。特に、ここでの一番の回答にある設定を .emacs ファイルに追加しましたが、まだ奇妙な動作が見られます。
注:私の .emacs ファイルの設定は明らかに iPython 0.11 用であり、1.2.0 用ではなく、それが問題の原因である可能性があります。私はLispの専門家ではないので、これに関する助けがあれば大歓迎です。
私が再現できる症状の 1 つを次に示します。^C^R (eval region) コマンドは、インタープリターから多くの空白の "In [X]:" を生成する場合があります。aquamacs で問題を再現するために、という名前のファイルを作成しtest.py
、次のコードを配置します。
次に、^C^P (インタープリターの開始) と入力し、バッファーに戻り、test.py
^C^C (バッファーの評価) と入力します。出力は次のとおりです。
これで問題ありません。しかし、最後の行を強調表示してprint spam
から、^C^R と入力します。出力:
変ですよね?長いファイルの場合、事態はさらに悪化します。アクティブな領域が 1 行の場合でも、空白の "In [X]:" 行が 15 行以上表示されることがよくあります。
emacs - emacsがpython3シェルを使用するようにpython.elを設定する方法は?
私はemacsが初めてです。組み込みのpythonモード(python.el)を持つemacs24をインストールしました。このファイルが見つからず、python3 シェルを使用するように構成する方法がわかりません (デフォルトで python2.7 を使用しています)。ありがとう
python - Emacs 24 の python.el + ipython はモジュール名を完成できません
私は OSX で Emacs 24.4.1 (Homebrew でインストール) を使用していpython.el
ます。私はこれを持っています.emacs
:
を呼び出すと、すべてが正しく機能しますがM-x run-python
、1 つのことを除いて<tab>
、モジュール名の補完が REPL で機能しません (*Messages*
バッファーに「一致しません」と表示されます)。最近アップグレードした Emacs 24.3 で動作していたことは確かですが、100% 確実ではありません。誰がこれを引き起こすのか、またはどのようにデバッグしようとするのか考えていますか?
emacs - python (python.el) 用の .emacs ファイルの設定に関するヘルプを探しています。
私のemacsバージョンは24.5で、組み込みのpythonを使用しています。私はそれのために私の中にこれらの行を書き.emacs
ました:
問題は、(実行しようとしているときに)どのコマンドも機能していないことですtest.py
。次のような名前のコマンドをいくつか試しました
そして彼らは皆戻ってくる
私が間違っていることは何ですか?私はどうしたらいいですか?理想的な構成 ( .emacs
) とは?
詳細情報:
- にインストールされている Python 3.4
C:/
- Emacs で
C:/Program Files/
$HOME
はC:/user/akk/appdata/roaming/
emacs - Emacs24 と python-mode: docstring のインデント
次のコード/テキストがあります。
Emacs23(23.4.1)では、最後の行(「2番目のメモ行」;この行がどのようにインデントされていても)でTABを押すことができ、次のように正しく配置されました。
つまり、前の行を使用し、次の行を同じ方法でインデントします。
現在、Emacs24 (24.3.1) ではこれは機能しなくなり、次のように調整されています。
つまり、複数行の文字列ブロックを整列しますが、前の行には依存しません。
docstring のみに影響します。コードは私が望むようにインデントされています。を使用してpython-mode
います。TAB を押すとブロックが正しく整列するように、これを変更するにはどうすればよいですか?
python - Emacs の劣った Python シェルは、各 python-shell-send-region コマンドで送信メッセージを表示します
私は OS X (El Capitan) で Python 下位シェルを使用しており、コードの一部を Python プロセスに送信するたびに ( C-c C-r
which にバインドされているものを使用してpython-shell-send-region
)、Python シェルで次のようなメッセージが表示されます。
コマンドを呼び出すたびにこのメッセージが表示されないようにしたいと思います。Linux 上の Emacs の同じバージョン (python.el ファイルと一緒に) には、この問題はありません。メッセージのテンプレートはpython-shell-send-file
関数内 (python.el
ファイル内) で定義されていますが、 python-shell-send-region
. 最初の実行では、次のコマンドで Python インタープリター (バージョン 2.7.10) を呼び出します。
ただし、他の python インタープリター (brew 経由でインストール) でも同じように動作します。私はEmacs 24.5.1を使用しています(再びbrew経由でインストールされました)。私が使用する唯一の python-mode 固有の構成は.emacs
、タブ幅に関連しています。
任意のヘルプや提案をいただければ幸いです。
編集と可能な解決策:
(私はこれを見つけましたhttps://github.com/jorgenschaefer/elpy/issues/1307 ):
gnureadline のインストール中にエラーが発生した場合はfatal error: 'stdio.h' file not found
、 を試してくださいxcode-select --install
。