私はJulia 0.4で動作していたプログラムをJulia 0.5に移植していますが、問題があります。パッケージからリモートでジュリア機能を実行するにはどうすればよいですか?
これはプログラムです:
addprocs(3)
ref = @spawn factor(21883298135690819)
factors = fetch(ref)
@assert factors == Dict(234711901=>1,93234719=>1)
ジュリア0.5上で動作しているとき、私は十分
ERROR: On worker 2:
factor(21883298135690819,) has been moved to the package Primes.jl.
Run Pkg.add("Primes") to install Primes on Julia v0.5-
フェアエラーが発生します。しかし、対話型端末に入っても、私のコードはまだ動作しません!トランスクリプトは
julia> Pkg.add("Primes")
INFO: Nothing to be done
julia> using Primes
julia> Primes.factor(21883298135690819)
Dict{Int64,Int64} with 2 entries:
234711901 => 1
93234719 => 1
julia> addprocs(3)
3-element Array{Int64,1}:
2
3
4
julia> ref = @spawn factor(21883298135690819)
Future(2,1,5,Nullable{Any}())
julia> factors = fetch(ref)
ERROR: On worker 2:
factor(21883298135690819,) has been moved to the package Primes.jl.
Run Pkg.add("Primes") to install Primes on Julia v0.5-
同じ問題があります。
documentationは、using
宣言によってコードがすべてのプロセスで使用可能になることが示唆されているようですが、そうではありません。
私は間違っていますか?
'' Primes'を使う前に 'addprocs(3)'を入れますか? – Gnimuc