我想在一台机器上运行一个IPython实例,并从另一个进程(通过LAN)连接到它(运行一些python命令).我知道有可能使用zmq:http://ipython.org/ipython-doc/dev/development/ipythonzmq.html.
但是,我找不到有关如何操作的文档以及是否可能.
任何帮助,将不胜感激!
编辑
我希望能够连接到IPython内核实例并发送它python命令.但是,这不应该通过图形工具(qtconsole)完成,但我希望能够从不同的python脚本中连接到该内核实例...
例如
somehow_connect_to_ipython_kernel_instance
instance.run_command("a=6")
Run Code Online (Sandbox Code Playgroud) 我的目标是在IPython笔记本中只运行几行Julia,其中大部分代码都是Python用于某些实验......
我在这里找到了一个很好的示例笔记
http://nbviewer.ipython.org/github/JuliaLang/IJulia.jl/blob/master/python/doc/JuliaMagic.ipynb
现在我想知道如何为Julia安装IPython扩展(我主要使用IPython 2.1),以便我可以通过
%load_ext julia.magic
Run Code Online (Sandbox Code Playgroud)
我也是julia的新手,我想知道是否有"混合numpy和julia"的性能优势,如本笔记本所示(通过常规Python numpy或常规Julia代码)
当我正确理解这个概念时,如果我只对运行Julia代码感兴趣,我会使用IJulia笔记本(我成功设置)吗?
我安装了IJulia,我也可以运行IJulia笔记本,但实际上我只想在笔记本中加入一小部分Julia代码,其余的应该是Python/Cython.不幸的是,我读到魔术函数尚未得到完全支持:"与IPython的一个区别是IJulia内核目前不支持"magics",它是以%或%%为前缀的特殊命令,用于执行不同语言的代码"
有没有办法在IJulia笔记本中运行Python代码?
如何在pypy解释器而不是cpython解释器上使用ipython?ipython网站只是说它有效,但很少有关于如何做到这一点的细节.
我希望捕获并绘制5个左右timeit调用的结果,并以对数增加N的大小来显示methodX()带有输入的比例.
到目前为止,我尝试过:
output = %timeit -r 10 results = methodX(N)
Run Code Online (Sandbox Code Playgroud)
这是行不通的...
无法在文档中找到信息.我觉得你应该能够至少拦截打印的字符串.之后,我可以解析它以提取我的信息.
有没有人这样做或尝试过?
PS:这是一个ipython笔记本,如果这是一个差异.
通常我使用R,并且经常在想要制作可重复使用的东西时使用sessionInfo().这样做的原因是我想让人们知道我正在使用的所有版本的版本以及我安装/加载了哪些软件包以及我使用的操作系统等等,以便它非常清楚.
sessionInfo 返回R的版本,处理器类型(例如32/64位x86),操作系统,区域设置详细信息以及已加载的软件包.
我是python的新手,想知道是否有Python的等价物?我希望在iPython笔记本中使用它......
当我使用ipython terminal并想要打印一个numpy.ndarray有很多列的行时,这些行会在80个字符左右自动断开(即行的宽度为cca 80个字符):
z = zeros((2,20))
print z
Run Code Online (Sandbox Code Playgroud)
据推测,ipython期望我的终端有80列.事实上,我的终端宽度为176个字符,我想使用全宽.
我试过更改以下参数,但这没有效果:
c.PlainTextFormatter.max_width = 160
Run Code Online (Sandbox Code Playgroud)
如何判断ipython我的终端的全宽?
我ipython 1.2.1在Debian Wheezy上使用
相关文章:双击osx打开ipython笔记本
如何双击打开Ipython笔记本?我总是cd到笔记本的目录,然后输入ipython notebook浏览器,然后在浏览器中打开它.这个步骤非常不方便.
在Windows中,我记得我可以在浏览器中更改目录,但在linux中没有办法通过浏览器浏览其他目录,如果我想在另一个目录中打开一本新书,我必须重新启动另一个内核,如上所述,这让我很烦.
有没有简单和经过验证的方法来做到这一点?
我已经配置了PyCharm Professional Edition 3.5 5.0
尽可能使用IPython
在我设置的运行/调试配置中
之后展示口译员
我经常使用交互式解释器,我非常喜欢IPython,但有一些我不喜欢在PyCharm中处理它的方式:
input()在我的程序中任何返回空字符串.
此外,当发生错误时,我无法再与程序交互.(你可以在运行带有-i标志的Python程序时)
控制台中的最后一行与当前行之间有很多空格
在IPython中...:,代码块中的提示不缩进2个空格,因此不与In [?]:提示对齐.
当发生错误时,我得到类似这样的东西,
import IPython; IPython.start_ipython()
我不需要/想要从内部看到回溯.
当运行文件时,需要启动IPython,这需要几秒钟,即使我之后不会使用解释.我希望PyCharm在程序结束后或者我开始调试时启动IPython(你可以通过执行在交互式控制台中启动IPython--no-banner
还有一些我不喜欢的小事
当IPython启动时,它会向控制台输出大量文本.我不想看到任何它除了版本号(你通常可以使用该Up选项,但将它添加到解释器选项不起作用)
当你输入内容并按下Ctrl + Space它时,用我历史记录的最后一项替换我所写的内容,而不是用我输入的内容开头的历史记录的最后一项替换它.普通的IPython就是这样做的.
我希望自动代码完成,而无需按下C:\Program Files (x86)\PyCharm\helpers\PyDev控制台
"问题"按重要性排序.有谁知道如何更改其中一些?我可以停止使用IPython来解决第二个,第三个和第四个问题,但其他问题仍然存在.所有这些行为(不包括IPython的东西)都在PyScripter中得到了很好的实现.
我找到了前两个问题的解决方案以及IPython横幅的问题.PyDev交互式解释器(由PyCharm使用)的源位于Windows上_pydev_imps/_pydev_execfile.py(当然,路径不同).
所以第一个问题可以通过编辑文件来解决exec(compile(contents+"\n", file, 'exec'), glob, loc).用以下代码作为异常处理程序包装块中的第18行(try ... except).如果出现错误,这将终止您的Python程序,同时让您在之后与变量进行交互.import traceback; traceback.print_exc()pydev_run_in_console.py
问题2可以通过编辑火来解决from pydev_console_utils import StdIn.在文件的开头添加此导入:sys.stdin = StdIn(interpreter, host, client_port)并pydev_ipython_console在添加导入之前插入第61行之后.
为了与旗帜,以解决这个问题,你必须下载最新的PyDev的源的版本在这里和替换文件pydev_ipython_console_011 …
我喜欢使用以下方法检查Python脚本中的错误:
$ python3 -m pdb my_script.py
Run Code Online (Sandbox Code Playgroud)
这让我进入了一个pdb提示符,从那里我可以c继续执行,当它遇到错误时,我可以检查变量然后q退出脚本执行以返回到我的shell.
我尝试使用iPython调试器模块,因为它更加丰富多彩:
$ python3 -m ipdb my_script.py
Run Code Online (Sandbox Code Playgroud)
但是,一旦检查完错误,我就无法退出调试器.使用qquit命令只是在重新执行脚本和事后模式之间保持切换:
$ python3 -m ipdb my_script.py
ipdb> c
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> Inspect some variables at this point
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> q
Post mortem debugger …Run Code Online (Sandbox Code Playgroud)