我想在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:当前频道中缺少的包:
我们已在以下渠道中搜寻了这些套餐:
那么,我做错了什么?
答案 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中直接使用司仪。这是包裹