IPython工作流(编辑、运行)
是否有IPython的GUI允许我打开/运行/编辑Python文件?我在空闲状态下的工作方式是打开两个窗口:shell和一个.py文件。我编辑.py文件,运行它,并与shell中的结果交互IPython工作流(编辑、运行),python,user-interface,ipython,python-idle,Python,User Interface,Ipython,Python Idle,是否有IPython的GUI允许我打开/运行/编辑Python文件?我在空闲状态下的工作方式是打开两个窗口:shell和一个.py文件。我编辑.py文件,运行它,并与shell中的结果交互 可以这样使用IPython吗?或者有其他的工作方式吗?当我使用python时,我通常会打开两个终端窗口——一个是IPython,另一个是相当定制的Vim 两个很好的资源: 虽然听起来你想要的是IPython的神奇功能%ed/%edit: 您可以做的一个示例: In [72]: %ed IPython
可以这样使用IPython吗?或者有其他的工作方式吗?当我使用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中运行该脚本,您将可以访问文件中定义的所有内容。例如,如果您的/home/my
目录中的文件test.py
中有以下内容:
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
[42]中的:cd/home/my
/家/我自己
在[43]中:%run test.py#autocomplete也可以工作
在[44]中:骑士(“约翰”)
你好,约翰爵士
In[45]:t=Tester()
你好
无论是混合工作流程还是其中一种工作流程,都会给您带来与您习惯于在空闲状态下工作的方式非常相似的东西。就我个人而言,我使用@Wayne建议的vim和ipython的组合
但是,如果您更喜欢不同的方法,请查看
从最新版本(1.1)起,ipython应完全集成。如果下载早期版本,ipython作为一个外部shell可以很好地工作,但是您不会获得spyder的一些漂亮特性(比如在工作区窗口中查看所有当前定义的变量)
Spyder绝对有点重量级,但它是一个有趣的项目
另一个(非常、非常、新)类似的项目是。它将(某种程度上)与ipython作为shell一起工作,我敢打赌,更好的ipython集成不久就会出现。无论如何,iep本质上是spyder更轻的替代品
它们都面向科学计算,因此与matplotlib之类的东西有很好的集成(因此可以在单独的线程中自动运行gui主循环)。它们不像“普通”IDE,但它们可能会很好地填补您所寻找的细分市场 ,以前称为SPyderlib/Spyder2
非常轻量级、快速,并且支持几乎所有您需要使用python项目的功能。它可以在嵌入式IPython实例中编辑和运行.py文件,然后与它们交互,设置断点,等等
看一看。可能就是您想要的。如果您喜欢Matlab
下的工作流程,那么您可能应该尝试以下两种方法:
1,尝试将Spyder
和Vim
组合使用
- 在
Vim
中编辑python文件(Spyder
可以自动重新加载文件)
- 在
Spyder
中运行代码(在同一解释器中,这对我很重要):
- 使用
F9
运行当前文件
Ctrl+F9
运行所选块
2,使用Vim
+conque shell
。()
- 在
Vim
中打开首选的Python解释器
e、 例如,just:征服Split python
- 然后选择一些
Python
code
- 按
F9
粘贴并在Python解释器缓冲区中运行它
注:还有一些:
:conquetermvplit python
:征服术语python
:conquetermvplit rlwrap python
如果解释器未命中readline
,则可以使用rlwrap
就我个人而言,我喜欢。不幸的是,它只能在Windows上运行,但在葡萄酒中也能完美运行 你可能会喜欢
它是一种shell/编辑器的混合体,允许您将会话保存为名为.pyslice文件的特殊(勉强)修改的python文件
它现在是的一部分,所以只需安装它(v2.8.11或更高版本),并在命令行上运行“python-mwx.py.PySlices”即可启动它
尽管如此,我最终还是使用了脚本外部编辑器(geany)
完成ipython的安装后
从终端启动ipython(只需点击终端中的
ipython
)
要运行ravi.py
文件,只需
%run ravi.py
最新版本的支持IDLE中的IPython以及%edit magic。您可以通过多种方式从IPython shell中的空闲编辑器运行文件,可以通过F5(运行一切)、F9(运行选择)或Ctrl+Enter(运行子代码)。试试Spyder,我花了一整天的时间试图找到一个具有IPython功能的IDE,Spyder只是把它踢出了公园
Autocomplete从安装开始就是一流的,没有配置文件和所有这些废话,它在角落里有一个Ipython终端,可以让您立即运行代码
竖起大拇指我想为vim推荐一个优秀的插件,它可以实现vim和IPython之间的双向集成:vim IPython
从上的项目页面:
使用这个插件,您可以发送行或整个文件供IPython执行,还可以在Vim中获取对象内省和单词补全,比如y
%run ravi.py
%load_ext autoreload
%autoreload 2
from your_work_file import *
c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']