gpt4 book ai didi

python - 在 IPython 笔记本中运行 Julia 代码的最佳方式(或在 IJulia 笔记本中运行 Python 代码)

转载 作者:IT老高 更新时间:2023-10-28 22:14:53 30 4
gpt4 key购买 nike

我的目标是在 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

我对 julia 也很陌生,我想知道本笔记本中显示的“混合 numpy 和 julia”是否有性能优势(优于常规 Python numpy 或常规 Julia 代码)

当我正确理解这个概念时,如果我只对运行 Julia 代码感兴趣,我会使用 IJulia 笔记本(我已成功设置)?

我安装了 IJulia,也可以运行 IJulia 笔记本,但实际上我只想在我的笔记本中有一小部分 Julia 代码,其余的应该是 Python/Cython。不幸的是,我读到魔术函数尚未完全支持:“与 IPython 的一个区别是 IJulia 内核当前不支持“魔术”,这是以 % 或 %% 为前缀的特殊命令,用于以不同的语言执行代码”

有没有办法在 IJulia 笔记本中运行 Python 代码?

最佳答案

在 IPython 笔记本中运行 Julia


破解

为了在 IPython 笔记本中运行 Julia 片段(或 其他 语言),我只需将字符串 'julia' 附加到 default 列表在 ScriptMagics 类中的 _script_magics_default 方法中:

  • /usr/lib/python3.4/site-packages/IPython/core/magics/script.py
  • /usr/lib/python2.7/site-packages/IPython/core/magics/script.py.

示例:

# like this:
defaults = [
'sh',
'bash',
'perl',
'ruby',
'python',
'python2',
'python3',
'pypy',
'julia', # add your own magic
]

IPython *Julia magic*

Julia Magic(双向)

要使用 %load_ext julia.magic,您需要在此处运行 setup.py:

更新 (09/04/2014):setup.py 文件已移至 pyjulia.jl:

<罢工>当 Pkg.add("IJulia") 在你的文件系统中克隆 repo 时你会得到:

cd ~/.julia/v0.3/IJulia/python/
sudo python2 setup.py install

目前这仅适用于 Python2 中的我。 Python3 提示:

ImportError: No module named 'core'

当我尝试加载扩展,但安装时没有任何问题。

安装后,你也可以在 Python2 中执行此操作:

from julia import Julia
j = Julia()
arr = j.run('[1:10]')
type(arr) # numpy.ndarray

从系统运行脚本shell

在笔记本单元格中使用 shell 模式语法:

!julia my_script.jl



在 IJulia 笔记本中运行 Python


使用 PyCall

这并不是真正在您想要的上下文中运行 python 代码,但您也可以在 Julia 中使用 Python 库:

using PyCall
@pyimport math
println(math.pi)

从系统运行脚本shell

在笔记本单元格中使用 shell 模式语法:

;python my_script.py

关于python - 在 IPython 笔记本中运行 Julia 代码的最佳方式(或在 IJulia 笔记本中运行 Python 代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24091373/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com