2

python-shell-send-buffer(Cc Cc) を 使用すると、Python シェルのメイン バッファからの変更を確認できます。

しかし、バッファーにモジュールがインポートされている場合、それらはリロードされません。どうすれば修正できますか?

例:
main.py:

from functions import foo
print 'a'

functions.py:

def foo():
    print 'bcdef'

したがって、変更して main.pyfoo()で実行すると、最初に読み取っ たのと同じ結果が得られますpython-shell-send-bufferfoo()

a
bcdef   # never changed
4

1 に答える 1

0

これを行いたい場合は、ipython を使用してください。

構成「dev」(または何でも)を作成します。

ipython profile create dev
[ProfileCreate] Generating default config file: u'/home/username/.config/ipython/profile_dev/ipython_config.py'

これらの行を「ipython_config.py」に追加します。

c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']

次に、python-mode の Emacs config で変数を設定します。

(setq
   python-shell-interpreter "ipython"
   python-shell-interpreter-args "--profile=dev"
)

この構成で開始された IPython は、コードを再送信するとモジュールをリロードします。

于 2013-02-15T17:20:41.903 に答える