IPython工作流程(编辑,运行)

com*_*pie 50 python user-interface ipython python-idle

是否有IPython的GUI允许我打开/运行/编辑Python文件?我在IDLE中的工作方式是打开两个窗口:shell和.py文件.我编辑.py文件,运行它,并与shell中的结果进行交互.

可以像这样使用IPython吗?还是有另一种工作方式吗?

Way*_*ner 52

当我使用python时,我通常会打开两个终端窗口 - 一个使用IPython,另一个使用相当自定义的Vim.

两个好资源:


虽然听起来像你想要的是IPython的神奇功能%ed/ %edit:

您可以做的一个例子:

In [72]: %ed
IPython will make a temporary file named: c:\docume~1\wjwe312\locals~1\temp\ipython_edit_ar8veu.py
Run Code Online (Sandbox Code Playgroud)

在我放的文件中:

x = "Hello World"
print 3
Run Code Online (Sandbox Code Playgroud)

保存并退出文件后:

Editing... done. Executing edited code...
3
Out[72]: "x = 'Hello world'\nprint 3\n"

In [73]: x
Out[73]: 'Hello world'
Run Code Online (Sandbox Code Playgroud)

您可以定义函数或其他任何东西 - 只需记住关闭它时将执行文件的内容.

另一个类似的工作流程是到cd包含您使用您喜欢的编辑器编辑的Python脚本的目录.然后你可以%run在IPython中找到脚本,你就可以访问文件中定义的所有内容.例如,如果目录中的文件test.py中包含以下内容/home/myself:

    class Tester(object):
        def __init__(self):
            print "hi"

    def knightme(name):
        print "Hello, Sir ", name
Run Code Online (Sandbox Code Playgroud)

然后,您可以执行以下操作:

In [42]: cd /home/myself
/home/myself

In [43]: %run test.py # <Tab> autocomplete also works

In [44]: knightme('John')
Hello, Sir  John

In [45]: t = Tester()
Hi
Run Code Online (Sandbox Code Playgroud)

混合或其中一个工作流程应该给你一些非常类似于你习惯在IDLE工作的方式.

  • 如果你只想在不执行它的情况下编辑ipython中的文件,请执行`%edit -x <file>`. (9认同)
  • 但有没有办法在*IDLE中使用IPython*?因为标准解释器很糟糕,Windows命令提示符很糟糕.我想在控制台中使用IPython解释器,它实际上可以很好地使用它. (2认同)
  • 问题是,你怎么能*重新编辑你在72中得到的结果?%edit 72或%rec 72只提供%编辑行.总是松开工作,无法重新运行,这太令人恼火了. (2认同)
  • 回答我自己:你执行 %edit _72 来获得输出!:D 太棒了。最后。 (2认同)

小智 17

Spyder,以前称为SPyderlib/Spyder2

非常轻便,快捷,支持几乎所有的功能,你永远都需要有一个Python项目工作.它可以在嵌入式IPython实例中编辑和运行.py文件,然后与它们交互,设置断点等.

在此输入图像描述 全尺寸


小智 5

试试Spyder,我整天都在努力寻找一款具有ipython和Spyder功能的IDE,只需将它踢出公园即可.

自动完成是安装的最佳选择,没有配置文件和所有垃圾,它在角落有一个Ipython终端,您可以立即运行您的代码.

大拇指