4

私は最近 iPython (0.13.2) をより頻繁に使用しており、ロギングは優れた機能のように思えます (正しく動作させることができれば)。

ipython --logfile ~/path/fake.log現在、 %magic コマンドを使用して、または iPython セッションの途中でも、ログ ファイルを開始して指定することができます%logstart ~/path/fake.log

ただし、ログファイルからセッションを再開できないようです。これは、目的の一部を無効にしているようです。私はGoogleとSOを精査しましたが、ここSOまたはドキュメントで推奨されているソリューションはどれもうまく機能していないようです.

私が試してみました:

  • バッシュから
    • ipython -log ~/path/fake.log(ソース, 結果: [TerminalIPythonApp] Unrecognized flag: '-log')
    • ipython -logplay ~/path/fake.log( sourceおよびその他多数、結果: [TerminalIPythonApp] Unrecognized flag: '-logplay')
    • ipython --logfile=~/path/fake.log(ソース、結果: 新しいログが開始されました。前のセッションの変数は未定義です)
  • iPythonから
    • %logstart ~/path/fake.log append(ソース、結果: 古いログは継続されますがロードされません。前のセッションの変数は未定義です)

(ログファイルをインポートしようとするという点で) 部分的に機能しているが、この目的を意図していないように見える 2 つは次のとおりです。

  • bash から: ipython -i ~/path/fake.log( source、結果: セッションでエラーがなかった場合、インポートして動作します。エラーがあった場合、インポートされず、変数はまだ利用できません。ロギングは再開されません。)
  • ipython から: %run ~/path/fake.log(ソースはありません。推測して試しただけです。結果: 上記と同じです。エラーがなく、変数が GTG の場合はファイルを実行します。エラーがあった場合は、機能しません。ロギングを再開しません。)

iPython 0.13.2 で、効果的に「中断したところから開始する」セッションを再開する方法はありますか? ご協力いただきありがとうございます。

4

1 に答える 1

2

これらの保存/復元セッションはすべて、対話を py ファイルとして保存し、復元中に py ファイルを実行しようとすることで機能します。undefined variable のようなエラーが発生すると、Python エラーが表示され、そこで復元が停止しますが、エラー状態まで保存された値は復元されます。

エラー状態を保存しないようにするには、Python インタラクティブ セッションを保存する方法の選択された回答で提案を使用しますか? :

save  my_session_name   1-4 6  9

私のセッションが In[1] から In[4] までのコマンドを取得し、In[5] をスキップし、In[6] を保存し、In[7]、In[8] をスキップし、In[9] を保存します。こうすることで、不快なやり取りを避けることができます。

後でセッションを復元します。

%run my_session_name.py
于 2013-07-24T15:28:07.727 に答える