在Julia中使用Python主持人的方法是什么?

时间:2017-11-14 14:14:02

标签: python python-2.7 julia

我想在Julia中使用Python emcee,所以在经过一些研究后我发现PyCall,然后根据他们的文档我必须使用

using PyCall
@pyimport emcee

但是我收到了这个错误

错误:PyError(ccall(@pysym(:PyImport_ImportModule),PyPtr,(Cstring,),name)

pyimport找不到Python包emcee。通常这意味着 你没有在PyCall使用的Python版本中安装emcee。 PyCall目前配置为使用特定于Julia的Python发行版 由Conda.jl包安装。要安装emcee模块,您可以 使用pyimport_conda("emcee", PKG),其中PKG是Anaconda 包含模块主持人,或者你可以使用 Conda包直接(通过using Conda后跟Conda.add等)。

或者,如果您想在您的上使用不同的Python发行版 系统,例如系统范围的Python(与Julia特定的Python相反), 你可以用那个Python重新配置PyCall。正如PyCall中所解释的那样 文档,将ENV [" PYTHON"]设置为python可执行文件的路径/名称 你想使用,运行Pkg.build(" PyCall"),然后重新启动Julia。

) ImportError('没有名为emcee'的模块)

所以我找到了安装emcee的目录(/Users/Angel/anaconda/lib/python2.7)并运行了命令:

pyimport_conda("emcee","/Users/Angel/anaconda/lib/python2.7")

但这次我仍然会遇到错误

PackageNotFoundError:当前频道中缺少的包:

  • /users/angel/anaconda/lib/python2.7

我们已在以下渠道中搜寻了这些套餐:

那么,我做错了什么?

2 个答案:

答案 0 :(得分:1)

使用Julia使用的Python发行版pip install <pkg>。 并非所有python包都可以使用conda安装。对于Windows / Linux / Mac x32,x64,请在此处查看:https://docs.anaconda.com/anaconda/packages/pkg-docs @pyimport emcee为我工作没有错误

答案 1 :(得分:1)

您可以在julia中直接使用司仪。这是包裹

https://github.com/madsjulia/AffineInvariantMCMC.jl