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

问题描述 投票:50回答:13

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

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

python user-interface ipython python-idle
13个回答
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

在我放的文件中:

x = "Hello World"
print 3

保存并退出文件后:

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

In [73]: x
Out[73]: 'Hello world'

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

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

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

    def knightme(name):
        print "Hello, Sir ", name

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

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

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


1
投票

我想建议一个优秀的vim插件,它可以在Vim和IPython之间实现双向集成:vim-ipython。

来自ipython的项目页面:

使用这个插件,你可以发送IPython的行或整个文件来执行,还可以在Vim中找回对象内省和单词补全,就像你得到的那样:对象?和对象。在IPython中。

这个插件有一个很大的限制:它不支持python 3(它的计划)。


0
投票

就个人而言,我使用了@Wayne所建议的,vim和ipython的组合......

但是,如果您更喜欢不同的方法,请查看ravi.py

从最新版本(1.1)开始,ipython应该完全集成。如果你下载了一个早期版本,ipython作为一个外壳可以正常工作,但你不会得到一些spyder的漂亮功能(比如查看工作区窗口中所有当前定义的变量)。

Spyder绝对有点重量级,但这是一个有趣的项目。

另一个(非常,非常,新的)类似的项目是%run ravi.py 。它将(使用ipython作为shell)进行处理,并且我愿意打赌更好的ipython集成将在很长时间内完成。无论如何,iep本质上是spyder的一种更轻量级的替代品。

这两个都面向科学计算,因此与matplotlib之类的东西很好地集成(因此可以在单独的线程中自动运行gui主循环)。它们不像“正常”的IDE,但它们可能会填满你正在寻找的利基。


0
投票

您可以使用IPython中的autoreload模块自动重新加载代码。

打开http://github.com/ivanov/vim-ipythonspyder并输入:

iep

现在每次保存jupyter qtconsole,它都会自动重新加载。

提示:如果您希望自动执行此操作,请在qazxsw poi文件中添加以下行:

jupyter console

0
投票

试试%load_ext autoreload %autoreload 2 from your_work_file import * 。它与your_work_file.py有更好的整合。只需按ipython_config.py即可直接在VIM中编辑。它还允许浏览您的历史记录..因此您可以在shell中编写相当多的代码,并逐步构建代码。

如果您已经熟悉c.InteractiveShellApp.extensions = ['autoreload'] c.InteractiveShellApp.exec_lines = ['%autoreload 2'] ,可以在这里查看Ptpython的优点:

VIM


17
投票

Spyder,以前称为SPyderlib / Spyder2

相当轻巧,快速,并支持几乎所有features,你将需要使用python项目。它可以在嵌入式IPython实例中编辑和运行.py文件,然后与它们交互,设置断点等。

full-size


5
投票

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

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

大拇指


4
投票

看看DreamPie。可能就是你要找的东西。


3
投票

就个人而言,我喜欢PyScripter。不幸的是,它只能在Windows上运行,但在Wine中运行也很完美。


2
投票

最新版本的IdleX支持IDLE中的IPython,以及%edit magic。您可以通过F5(运行所有内容),F9(运行选择)或Ctrl + Enter(运行子代码)以多种方式从IPython shell中的IDLE编辑器运行文件。


2
投票

如果您喜欢Matlab下的工作流程,那么您可能应该尝试以下两种方法:

1,尝试SpyderVim的组合。

  • 编辑Vim中的python文件(Spyder可以自动重新加载文件)
  • Spyder中运行代码(在同一个解释器中,这对我很重要):
  • 使用F9运行当前文件
  • Ctrl+F9运行选定的块

2,使用Vim + conque-shell。 (on google code

  • Python interpreter打开你喜欢的Vim, 例如,只是:ConqueTermSplit python
  • 然后直观地选择一些Python代码
  • F9粘贴并在Python interpreter buffer中运行它。

注意:还有一些:

  • :ConqueTermVSplit python
  • :ConqueTerm python
  • qazxsw poi 如果你的口译员错过了:ConqueTermVSplit rlwrap python,你可以使用qazxsw poi。

1
投票

你可能会喜欢readline ......

它是一种shell /编辑器混合体,它允许您将会话保存为名为.pyslice文件的特殊(几乎)修改过的python文件。

它现在是rlwrap的一部分,所以只需安装它(v2.8.11或更高版本)并在命令行上运行“python -m wx.py.PySlices”即可启动它。

也就是说,我仍然最终使用外部编辑器编写脚本(geany)。


1
投票
PySlices

完成ipython的安装后。

从终端启动ipython(只需在终端点击qazxsw poi)

要运行wxPython文件,您需要做的就是

sudo apt-get install ipython
© www.soinside.com 2019 - 2024. All rights reserved.