2011-12-13 12 views
13

実際にipythonシェルを呼び出すために、いくつかのコマンドラインオプションをpythonの起動コードに追加したいと思います。それ、どうやったら出来るの?'python ...'を実行して、どのようにしてipythonをシェルから起動できますか?

+10

あなたの*本当の*問題を説明できますか?実際の問題は、このハックが解決するはずのことですか? –

+0

私は、(pycharm)でスクリプトを実行する対話型シェルのサポートが制限されているIDEを使用しています.IEPなどのよりインタラクティブな方法でスクリプトを実行したいと考えています。 – Shwouchk

+0

修正プログラムはWindows環境でも動作するはずです – Shwouchk

答えて

21

のようなものを意味すると思う:

from IPython import embed 

a = "I will be accessible in IPython shell!" 

embed() 

それとも、単にコマンドラインから実行するには:

$ python -c "from IPython import embed; embed()" 

embedは、シェル内のすべてのローカル変数を使用します。

カスタム地元の人々を提供したい場合は(シェルでアクセス変数は)IPython.terminal.embed.InteractiveShellEmbed

+0

私はもはやその環境やOSを使用していませんが、これはうまくいくと思います。ありがとう! – Shwouchk

2

「Pythonの起動コード」によって、あなたが何を意味するか完全には明らかではありません。これは、Pythonを起動するために使用するシェルコードを指していると仮定します。 Unixでは

、あなたは別のもののコマンドを置換するaliasを使用することができます。これはあなたが望むものではありません

[email protected]:~$ alias python=ipython 
[email protected]:~$ python 
Enthought Python Distribution -- http://www.enthought.com 

Python 2.7.1 |EPD 7.0-2 (64-bit)| (r271:86832, Nov 29 2010, 13:51:37) 
Type "copyright", "credits" or "license" for more information. 

IPython 0.10.1 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object'. ?object also works, ?? prints more. 

In [1]: 

場合は、あなたの質問を明確にしてください。

python -c 'import subprocess; subprocess.call("ipython")' 

私は、しかし、このいずれかのような状況を想像することはできません:、あなたが求めて正確に何をすべきか、すなわち、実際にIPythonを呼び出すためにpython呼び出しにコマンドラインオプションを追加し、あなたがこれを行うことができますする

+0

ありがとう、しかし、私は窓で動作する必要があります... – Shwouchk

6

有用であろう。

+0

私が間違っている場合は私を修正しますが、 ipythonではなく、Pythonで動作します。 – Shwouchk

+0

@Shwouchk:元の質問はほとんど情報を提供しませんでした。この答えは私が与えることができる最高の推測でした。コメントからオリジナルの質問まで、私はこの解決策はあなたを助けないと思うだろうが、どうしようとしているのか? –

+0

これは、emacsプロンプトからipythonを実行している私にとって、実際には問題を修正しました。それ以外の場合は、出力をemacsバッファに正しくフラッシュできませんでした。 – flatline

1

私はあなたがPythonで直接IPythonシェルを起動するにはpython C:\Python27\Scripts\ipython-script.py

2

を見てみましょうたぶんオプションは、実行するとちょうどこの

def some_function(): 
    some code 

    import Ipython 
    Ipython.embed() 

のようなあなたのコード内でipythonを埋め込むことです関数が起動し、スコープのスコープが呼び出された関数の1つであるipython端末で実行されます。

関連する問題