擅长:python、mysql、java
<p>为了进一步扩展已经说过的内容,您需要的一切都应该加载到所有进程中。E、 g.:</p>
<p><code>addprocs(4)
@everywhere using PyCall
@everywhere @pyimport numpy as np
</code></p>
<p>您所写的错误是因为所有进程都试图使用<code>@pyimport</code>,但只有主进程加载了<code>PyCall</code>。如果您需要许多包来完成计算,可能更简单的方法是在一个脚本中完成所有加载,即<code>load_modules.jl</code>,然后简单地运行</p>
<p><code>addprocs(4)
@everywhere include("load_modules.jl")
</code></p>
<p>编辑:似乎<code>using</code>与<code>@everywhere</code>不太健壮(在Julia 0.6上修复,请参见<a href="https://github.com/JuliaLang/julia/pull/21718" rel="nofollow noreferrer">here</a>)。更有效的方法是:</p>
<p><code>addprocs(4)
import PyCall
@everywhere using PyCall
@everywhere @pyimport numpy as np
</code></p>